yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #24632
[Bug 1394043] [NEW] KeyError: 'gw_port_host' seen for DVR router removal
Public bug reported:
In some multi-node setups, a qrouter namespace might be hosted on a node
where only a dhcp port is hosted (no VMs, no SNAT).
When the router is removed from the db, the host with only the qrouter
and dhcp namespace will have the qrouter namespace remain. Other hosts
with the same qrouter will remove the namespace. The following KeyError
is seen on the host with the remaining namespace -
2014-11-18 17:18:43.334 ERROR neutron.agent.l3_agent [-] 'gw_port_host'
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent Traceback (most recent call last):
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent File "/opt/stack/neutron/neutron/common/utils.py", line 341, in call
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent return func(*args, **kwargs)
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 958, in process_router
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1429, in external_gateway_removed
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent ri.router['gw_port_host'] == self.host):
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent KeyError: 'gw_port_host'
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py", line 82, in _spawn_n_impl
func(*args, **kwargs)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1842, in _process_router_update
self._process_router_if_compatible(router)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1817, in _process_router_if_compatible
self.process_router(ri)
File "/opt/stack/neutron/neutron/common/utils.py", line 344, in call
self.logger(e)
File "/opt/stack/neutron/neutron/openstack/common/excutils.py", line 82, in __exit__
six.reraise(self.type_, self.value, self.tb)
File "/opt/stack/neutron/neutron/common/utils.py", line 341, in call
return func(*args, **kwargs)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 958, in process_router
self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1429, in external_gateway_removed
ri.router['gw_port_host'] == self.host):
KeyError: 'gw_port_host'
For the issue to be seen, the router in question needs to have the
router-gateway-set previously.
** Affects: neutron
Importance: Undecided
Assignee: Mike Smith (michael-smith6)
Status: New
** Tags: l3-dvr-backlog
** Changed in: neutron
Assignee: (unassigned) => Mike Smith (michael-smith6)
** Tags added: l3-dvr-backlog
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1394043
Title:
KeyError: 'gw_port_host' seen for DVR router removal
Status in OpenStack Neutron (virtual network service):
New
Bug description:
In some multi-node setups, a qrouter namespace might be hosted on a
node where only a dhcp port is hosted (no VMs, no SNAT).
When the router is removed from the db, the host with only the qrouter
and dhcp namespace will have the qrouter namespace remain. Other
hosts with the same qrouter will remove the namespace. The following
KeyError is seen on the host with the remaining namespace -
2014-11-18 17:18:43.334 ERROR neutron.agent.l3_agent [-] 'gw_port_host'
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent Traceback (most recent call last):
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent File "/opt/stack/neutron/neutron/common/utils.py", line 341, in call
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent return func(*args, **kwargs)
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 958, in process_router
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1429, in external_gateway_removed
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent ri.router['gw_port_host'] == self.host):
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent KeyError: 'gw_port_host'
2014-11-18 17:18:43.334 TRACE neutron.agent.l3_agent
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py", line 82, in _spawn_n_impl
func(*args, **kwargs)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1842, in _process_router_update
self._process_router_if_compatible(router)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1817, in _process_router_if_compatible
self.process_router(ri)
File "/opt/stack/neutron/neutron/common/utils.py", line 344, in call
self.logger(e)
File "/opt/stack/neutron/neutron/openstack/common/excutils.py", line 82, in __exit__
six.reraise(self.type_, self.value, self.tb)
File "/opt/stack/neutron/neutron/common/utils.py", line 341, in call
return func(*args, **kwargs)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 958, in process_router
self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
File "/opt/stack/neutron/neutron/agent/l3_agent.py", line 1429, in external_gateway_removed
ri.router['gw_port_host'] == self.host):
KeyError: 'gw_port_host'
For the issue to be seen, the router in question needs to have the
router-gateway-set previously.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1394043/+subscriptions
Follow ups
References