← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1401728] [NEW] Routing updates lost when multiple IPs attached to router

 

Public bug reported:

When attempting to run dual stacked networking at the gate
(https://review.openstack.org/#/c/140128/), IPv4 networking breaks, with
Tempest scenarios reporting no route to host errors for the floating IPs
that tempest attempts to SSH into.

The following errors are reported in the l3 agent log:

2014-12-11 23:19:58.393 25977 ERROR neutron.agent.l3.agent [-] Ignoring multiple IPs on router port db0953d3-4bd1-4106-9efc-c16cd9a3e922
2014-12-11 23:19:58.393 25977 ERROR neutron.agent.l3.agent [-] 'subnet'
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent Traceback (most recent call last):
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent   File "/opt/stack/new/neutron/neutron/common/utils.py", line 341, in call
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent     return func(*args, **kwargs)
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent   File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 646, in process_router
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent     self._set_subnet_info(ex_gw_port)
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent   File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 562, in _set_subnet_info
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent     prefixlen = netaddr.IPNetwork(port['subnet']['cidr']).prefixlen
2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent KeyError: 'subnet'
2014-12-11 23:19:58.393 25977 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/new/neutron/neutron/agent/l3/agent.py", line 1537, in _process_router_update
    self._process_router_if_compatible(router)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 1512, in _process_router_if_compatible
    self.process_router(ri)
  File "/opt/stack/new/neutron/neutron/common/utils.py", line 344, in call
    self.logger(e)
  File "/usr/local/lib/python2.7/dist-packages/oslo/utils/excutils.py", line 82, in __exit__
    six.reraise(self.type_, self.value, self.tb)
  File "/opt/stack/new/neutron/neutron/common/utils.py", line 341, in call
    return func(*args, **kwargs)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 646, in process_router
    self._set_subnet_info(ex_gw_port)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 562, in _set_subnet_info
    prefixlen = netaddr.IPNetwork(port['subnet']['cidr']).prefixlen
KeyError: 'subnet'

http://logs.openstack.org/28/140128/4/check/check-tempest-dsvm-neutron-
full/440ec4e/logs/screen-q-l3.txt.gz

Tempest reports no route to host:

2014-12-11 22:57:04.385 30680 WARNING tempest.common.ssh [-] Failed to
establish authenticated ssh connection to cirros@172.24.4.82 ([Errno
113] No route to host). Number attempts: 1. Retry after 2 seconds.

http://logs.openstack.org/28/140128/4/check/check-tempest-dsvm-neutron-
full/440ec4e/logs/tempest.txt.gz

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: ipv6

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1401728

Title:
  Routing updates lost when multiple IPs attached to router

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  When attempting to run dual stacked networking at the gate
  (https://review.openstack.org/#/c/140128/), IPv4 networking breaks,
  with Tempest scenarios reporting no route to host errors for the
  floating IPs that tempest attempts to SSH into.

  The following errors are reported in the l3 agent log:

  2014-12-11 23:19:58.393 25977 ERROR neutron.agent.l3.agent [-] Ignoring multiple IPs on router port db0953d3-4bd1-4106-9efc-c16cd9a3e922
  2014-12-11 23:19:58.393 25977 ERROR neutron.agent.l3.agent [-] 'subnet'
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent Traceback (most recent call last):
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent   File "/opt/stack/new/neutron/neutron/common/utils.py", line 341, in call
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent     return func(*args, **kwargs)
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent   File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 646, in process_router
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent     self._set_subnet_info(ex_gw_port)
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent   File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 562, in _set_subnet_info
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent     prefixlen = netaddr.IPNetwork(port['subnet']['cidr']).prefixlen
  2014-12-11 23:19:58.393 25977 TRACE neutron.agent.l3.agent KeyError: 'subnet'
  2014-12-11 23:19:58.393 25977 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/new/neutron/neutron/agent/l3/agent.py", line 1537, in _process_router_update
      self._process_router_if_compatible(router)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 1512, in _process_router_if_compatible
      self.process_router(ri)
    File "/opt/stack/new/neutron/neutron/common/utils.py", line 344, in call
      self.logger(e)
    File "/usr/local/lib/python2.7/dist-packages/oslo/utils/excutils.py", line 82, in __exit__
      six.reraise(self.type_, self.value, self.tb)
    File "/opt/stack/new/neutron/neutron/common/utils.py", line 341, in call
      return func(*args, **kwargs)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 646, in process_router
      self._set_subnet_info(ex_gw_port)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 562, in _set_subnet_info
      prefixlen = netaddr.IPNetwork(port['subnet']['cidr']).prefixlen
  KeyError: 'subnet'

  http://logs.openstack.org/28/140128/4/check/check-tempest-dsvm-
  neutron-full/440ec4e/logs/screen-q-l3.txt.gz

  Tempest reports no route to host:

  2014-12-11 22:57:04.385 30680 WARNING tempest.common.ssh [-] Failed to
  establish authenticated ssh connection to cirros@172.24.4.82 ([Errno
  113] No route to host). Number attempts: 1. Retry after 2 seconds.

  http://logs.openstack.org/28/140128/4/check/check-tempest-dsvm-
  neutron-full/440ec4e/logs/tempest.txt.gz

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1401728/+subscriptions


Follow ups

References