OpenStack Networking (Neutron)
Go to file
Daniel Gonzalez da141f0859 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.

Closes-Bug: #1755243
Change-Id: I755990324db445efd0ee0b8a9db1f4d7bfb58e26
(cherry picked from commit 8c2dae659a)
2018-03-30 17:55:06 +00: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-22 17:16:18 +00:00
doc Update documentation for DNS integration 2018-02-20 04:57:03 +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-30 17:55:06 +00:00
playbooks/legacy Merge "Switch rally job from q-* to neutron-* service names" 2018-01-12 09:43:10 +00:00
rally-jobs Switch rally job from q-* to neutron-* service names 2018-01-09 12:12:48 -08:00
releasenotes Process conntrack updates in worker threads 2018-03-26 17:34:09 +00:00
tools Remove the bundled intree neutron tempest plugin 2017-11-22 12:54:33 -08: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 Zuul: Remove project name 2018-01-31 22:54:45 -08: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 Compile ovs for ovsfw to avoid ovs-vswitchd core dumps 2018-02-13 14:59:58 +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-01 07:17:59 +00:00
setup.cfg [log] ovs fw logging implementation 2018-01-09 09:26:40 +07: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 Update UPPER_CONSTRAINTS_FILE for stable/queens 2018-02-09 16:36:28 +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