neutron/neutron
Slawek Kaplonski a8d0f557d5 Choose random value for HA routes' vr_id
HA routers are using keepalived and needs to have virtual_router_id
configured. As routers which belongs to same tenant are using same
ha network, those values have to be different for each router.

Before this patch this value was always taken as first available value
from available_vr_ids range.
In some (rare) cases, when more than one router is created in parallel
for same tenant it may happen that those routers would have same vr_id
choosen so keepalived would treat them as single application and only
one router would be ACTIVE on one of L3 agents.

This patch changes this behaviour that now random value from available
vr_ids will be chosen instead of taking first value always.
That should mittigate this rare race condition that it will be (almost)
not noticable for users.

However, proper fix should be probably done as some additional
constraint in database layer. But such solution wouldn't be possible to
backport to stable branches so I decided to propose this easy patch
first.

Change-Id: Idb0ed744e54976dca23593fb2d7317bf77442e65
Related-Bug: #1823314
2019-04-11 10:19:21 +02:00
..
agent Merge "Give some HA router case specific resources" 2019-04-08 20:42:32 +00:00
api use EXT_PARENT_RESOURCE_MAPPING from neutron-lib 2019-03-26 10:29:19 -06:00
cmd Add check for external_network_bridge in neutron-status 2019-03-22 13:14:24 +00:00
common move neutron only common constants to private module 2019-04-04 13:12:23 -06:00
conf Change default local ovs connection timeout 2019-03-25 02:51:20 +00:00
core_extensions remove neutron.common.exceptions 2019-02-01 14:35:00 -07:00
db Choose random value for HA routes' vr_id 2019-04-11 10:19:21 +02:00
debug Remove deprecated 'external_network_bridge' option 2019-03-09 22:07:38 +00:00
extensions Merge "Change provider network segmentation ID" 2019-04-05 03:41:16 +00:00
hacking remove neutron.db.api references 2019-03-05 09:14:50 -07:00
ipam Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
locale Imported Translations from Zanata 2018-03-03 06:08:46 +00:00
notifiers Send global_request_id for tracing calls from neutron to nova 2018-11-30 05:41:24 +00:00
objects Merge "Use dynamic lazy mode for fetching security group rules" 2019-03-15 12:05:58 +00:00
pecan_wsgi Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
plugins Fix a KeyError 2019-04-08 11:07:27 +09:00
privileged Check the namespace is ready in test_mtu_update tests 2019-03-27 17:59:15 +00:00
quota Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
scheduler Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
server Allow neutron-api load config from WSGI process 2018-07-25 15:22:14 +07:00
services Merge "Fix error 500 during segment range creation" 2019-04-09 04:46:34 +00:00
tests Merge "Fix error 500 during segment range creation" 2019-04-09 04:46:34 +00:00
__init__.py Fix incorrect usage of '# flake8: noqa' 2018-10-29 15:27:50 -04:00
_i18n.py Make code follow log translation guideline 2017-08-14 02:01:48 +00:00
auth.py Use oslo.context class method to construct context object 2017-03-23 09:02:46 +00:00
manager.py Avoid loading same service plugin more than once 2019-02-21 11:17:02 +01:00
neutron_plugin_base_v2.py Do not load default service plugins if core plugin is not DB based 2017-11-09 20:34:52 +00:00
opts.py Add "rpc_response_max_timeout" config variable in OVS agent 2019-02-21 15:11:42 +00:00
policy.py use EXT_PARENT_RESOURCE_MAPPING from neutron-lib 2019-03-26 10:29:19 -06:00
service.py Merge "Change process name of neutron-server to match worker role" 2019-03-02 14:18:49 +00:00
version.py
worker.py Change process name of neutron-server to match worker role 2019-03-01 14:18:09 -05:00
wsgi.py Change process name of neutron-server to match worker role 2019-03-01 14:18:09 -05:00