OpenStack Networking (Neutron)
Go to file
Slawek Kaplonski 4a45e1adeb 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)
(cherry picked from commit 72c9a7ef84)
2019-04-12 16:04:20 +00:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
bin XenAPI: add support for conntrack with XenServer 2016-09-23 02:34:25 +00:00
devstack devstack: switch to new NEUTRON_* variables 2018-01-11 10:44:39 -08:00
doc Replace openstack.org git:// URLs with https:// 2019-03-26 23:43:43 +00:00
etc Revert "Linux Bridge: driver support for QoS egress minimum bandwidth" 2017-02-10 04:34:21 +00:00
neutron Choose random value for HA routes' vr_id 2019-04-12 16:04:20 +00:00
playbooks/legacy Replace openstack.org git:// URLs with https:// 2019-03-26 23:43:43 +00:00
rally-jobs rally: switch to new format for context name 2017-09-22 21:02:20 +00:00
releasenotes [OVS] Add mac-table-size to be set on each ovs bridge 2018-06-21 07:41:03 +00:00
tools Disable IPv6 forwarding by default on HA routers 2018-06-24 15:25:05 +02:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Automatically generate neutron core configuration files 2015-11-27 15:22:59 +00:00
.gitreview Update .gitreview for stable/ocata 2017-02-06 23:47:34 +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-14 16:07:11 +00: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:40:11 -04:00
CONTRIBUTING.rst Make crystal clear how to contribute/approach the neutron community 2016-10-28 11:49:44 -07:00
HACKING.rst Merge "Replace assertEqual(None, *) with assertIsNone in tests" 2016-11-22 02:15:19 +00: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 Show team and repo badges on README 2016-11-25 15:35:21 +01:00
TESTING.rst [Tempest] Running Trunk test with advanced image only 2017-07-31 11:14:19 -07:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
bindep.txt Add libssl packages to bindep 2017-06-09 13:02:18 +00:00
requirements.txt Updated from global requirements 2017-05-15 23:33:47 +00:00
run_tests.sh Deprecate run_tests.sh 2016-11-08 03:50:20 +00:00
setup.cfg Add Loki service plugin for optional DB havoc 2017-02-03 05:12:33 -08:00
setup.py Updated from global requirements 2015-09-21 18:56:49 +00:00
test-requirements.txt Updated from global requirements 2016-12-28 09:11:12 +00:00
tox.ini Update minimum tox version to 2.3.2 2017-06-15 18:32:16 +00:00

README.rst

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