← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1394043] Re: KeyError: 'gw_port_host' seen for DVR router removal

 

** Changed in: neutron/juno
       Status: Fix Committed => Fix Released

-- 
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):
  In Progress
Status in neutron juno series:
  Fix Released

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


References