8c2dae659a
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 |
||
---|---|---|
api-ref | ||
bin | ||
devstack | ||
doc | ||
etc | ||
neutron | ||
playbooks/legacy | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.pylintrc | ||
.stestr.conf | ||
.testr.conf | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
TESTING.rst | ||
babel.cfg | ||
bindep.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
Welcome!
To learn more about neutron:
- Documentation: https://docs.openstack.org
- Features: https://specs.openstack.org/openstack/neutron-specs
- Defects: https://launchpad.net/neutron
Get in touch via email. Use [Neutron] in your subject.
To learn how to contribute:
CONTRIBUTING.rst