OpenStack Networking (Neutron)
Go to file
Slawek Kaplonski 72c9a7ef84 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.

Conflicts:
    neutron/db/l3_hamode_db.py

Change-Id: Idb0ed744e54976dca23593fb2d7317bf77442e65
Related-Bug: #1823314
(cherry picked from commit a8d0f557d5)
(cherry picked from commit ee2ed681c4)
2019-04-12 09:00:49 +02:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
bin Use os-xenapi for neutron when XenServer as hypervisor 2017-03-30 18:33:37 +00:00
devstack DevStack: OVS: Only install kernel-* packages when needed 2018-11-23 10:23:12 +00:00
doc Replace openstack.org git:// URLs with https:// 2019-03-24 20:34:36 +00:00
etc Add rootwrap filters to kill state change monitor 2019-03-21 17:50:35 +00:00
neutron Choose random value for HA routes' vr_id 2019-04-12 09:00:49 +02:00
playbooks/legacy Replace openstack.org git:// URLs with https:// 2019-03-24 20:34:36 +00:00
rally-jobs Switch rally job from q-* to neutron-* service names 2018-01-09 12:12:48 -08:00
releasenotes More accurate agent restart state transfer 2019-03-29 22:07:57 +08:00
tools Disable IPv6 forwarding by default on HA routers 2018-06-03 19:10:40 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Added zuulv3 jobs for testing neutron tempest plugin 2017-11-13 09:30:36 +05:30
.gitreview Update .gitreview for stable/queens 2018-02-09 16:36:24 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Update pylint disable list to pass pylint 1.7.1 checks 2017-06-08 09:49:46 +00:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
.testr.conf Allow more time for DB migration tests 2016-09-21 20:54:41 -04:00
.zuul.yaml import zuul job settings from project-config 2018-08-29 17:44:20 -04:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
bindep.txt Add libffi-dev to bindep.txt 2017-06-13 19:26:49 +00:00
CONTRIBUTING.rst Update link for contribution 2017-08-31 16:44:51 +02:00
HACKING.rst Update the documentation link for doc migration 2017-07-22 18:46:13 +09:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
README.rst Correct tag link in README 2017-08-03 09:47:25 +08:00
requirements.txt Updated from global requirements 2018-02-01 07:17:59 +00:00
setup.cfg Add enforcer logic for neutron policy 2019-04-08 16:31:37 +00:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt cap bandit in test-requirements.txt 2018-08-25 23:04:56 +02:00
TESTING.rst Compile ovs for ovsfw to avoid ovs-vswitchd core dumps 2018-02-13 14:59:58 +00:00
tox.ini Fix pep8 errors 2018-04-12 01:31:55 +09:00

Team and repository tags

image

Welcome!

To learn more about neutron:

Get in touch via email. Use [Neutron] in your subject.

To learn how to contribute:

CONTRIBUTING.rst