OpenStack Networking (Neutron)
Go to file
Daniel Gonzalez 8c2dae659a Fix l3-agent crash on routers without ha_state
l3-agent checks the HA state of routers when a router is updated.
To ensure that the HA state is only checked on HA routers the following
check is performed: `if router.get('ha') and not is_dvr_only_agent`.
This check should ensure that the check is only performed on
DvrEdgeHaRouter and HaRouter objects.

Unfortunately, there are cases where we have DvrEdgeRouter objects
running on 'dvr_snat' agents. E.g. when deploying a loadbalancer with
neutron-lbaas in a landscape with 6 network nodes and
max_l3_agents_per_router set to 3, it may happen that the loadbalancer
is placed on a network node that does not have a DvrEdgeHaRouter running
on it. In such a case, neutron will deploy a DvrEdgeRouter object on the
network node to serve the loadbalancer, just like it would deploy a
DvrEdgeRouter on a compute node when deploying a VM.

Under such circumstances each update to the router will lead to an
AttributeError, because the DvrEdgeRouter object does not have the
ha_state attribute.

This patch circumvents the issue by doing an additional check on the
router object to ensure that it actually has the ha_state attribute.

Change-Id: I755990324db445efd0ee0b8a9db1f4d7bfb58e26
Closes-Bug: #1755243
2018-03-23 12:57:01 +01: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 Try to enable L3 agent extension `fip_qos` 2018-03-01 16:42:15 +08:00
doc Merge "Update mysql connection in config-dhcp-ha.rst" 2018-03-09 17:06:24 +00:00
etc Allow port create/update by shared nw owners 2017-12-12 04:12:54 +00:00
neutron Fix l3-agent crash on routers without ha_state 2018-03-23 12:57:01 +01:00
playbooks/legacy Move periodic jobs to Neutron repo 2018-02-12 11:41:03 -06:00
rally-jobs Switch rally job from q-* to neutron-* service names 2018-01-09 12:12:48 -08:00
releasenotes Imported Translations from Zanata 2018-03-03 06:08:46 +00:00
tools functional: Fix RABBIT_PASSWORD env var 2018-03-06 16:53:04 +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 Fix .gitreview to not point at a branch 2015-08-17 13:51:51 -06: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 Move periodic jobs to Neutron repo 2018-02-12 11:41:03 -06: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
TESTING.rst Merge "Docs: Update tempest test directory" 2018-02-14 16:14:24 +00: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
requirements.txt Updated from global requirements 2018-02-17 09:48:10 +00:00
setup.cfg Merge "Include all rootwrap filters when building wheels" 2018-03-08 14:29:03 +00:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Updated from global requirements 2018-02-01 07:17:59 +00:00
tox.ini Merge "Update upper-constraints consumption" 2018-03-09 19:49:30 +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