** Changed in: neutron
       Status: Confirmed => Invalid

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

Title:
  L3 agent fails on FIP when DVR and HA both enabled in router

Status in neutron:
  Invalid

Bug description:
  I have a vlan-based Neutron configuration.  My tenant networks are
  vlans, and my shared external network (br-ex) is a flat network.
  Neutron is configured for DVR+SNAT mode.  In testing floating IPs,
  I've run into issues with my neutron router, and I've traced it back
  to a single scenario: when the router is both distributed AND ha.  To
  be clear, I've tested all four possibilities:

  "--distributed False --ha False"  == works
  "--distributed True --ha False"  == works
  "--distributed False --ha True"  == works
  "--distributed True --ha True"  == fails

  * I can reproduce this again and again, just by deleting the router I
  have (which implies first clearing its gateway, and removing any
  associated ports), then re-creating the router in any of the four
  configurations above.  Then I boot some VMs, associate a FIP to any
  one of them, and attempt to reach the FIP.  Results are the same
  whether I create the router on the CLI or from within Horizon.

  * Expected result is that I should be able to associate a floating IP
  to a running VM and then ping that floating IP (and ultimately other
  kinds of activity, such as SSH access to the VM).

  
  * Actual result is that the floating IP is completely unreachable from other 
valid IPs within same L2 space.  Additionally, in /var/log/neutron/l3-agent.log 
on the compute node hosting the VM whose associated FIP I can't reach, I find 
this:

  
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent [-] Failed to 
process compatible router '13356ddb-8e36-4f54-b8b2-6a62a5aecf86'
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent Traceback (most 
recent call last):
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 501, in 
_process_router_update
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
self._process_router_if_compatible(router)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 440, in 
_process_router_if_compatible
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
self._process_updated_router(router)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 454, in 
_process_updated_router
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
ri.process(self)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/dvr_edge_ha_router.py", line 
92, in process
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
super(DvrEdgeHaRouter, self).process(agent)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/dvr_local_router.py", line 
488, in process
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
super(DvrLocalRouter, self).process(agent)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/dvr_router_base.py", line 
30, in process
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
super(DvrRouterBase, self).process(agent)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py", line 386, in 
process
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
super(HaRouter, self).process(agent)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 385, in call
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     self.logger(e)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
self.force_reraise()
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
six.reraise(self.type_, self.value, self.tb)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 382, in call
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     return 
func(*args, **kwargs)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/router_info.py", line 961, 
in process
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
self._process_internal_ports(agent.pd)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/router_info.py", line 478, 
in _process_internal_ports
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
self.internal_network_added(p)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/dvr_edge_ha_router.py", line 
58, in internal_network_added
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
dvr_snat_ns.SNAT_INT_DEV_PREFIX)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py", line 280, in 
_plug_ha_router_port
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     
self._disable_ipv6_addressing_on_interface(interface_name)
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py", line 239, in 
_disable_ipv6_addressing_on_interface
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     if 
self._should_delete_ipv6_lladdr(ipv6_lladdr):
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py", line 221, in 
_should_delete_ipv6_lladdr
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent     if 
manager.get_process().active:
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent AttributeError: 
'NoneType' object has no attribute 'get_process'
  2016-08-17 22:33:25.512 11369 ERROR neutron.agent.l3.agent

  * Version
  ** CentOS 7.2
  ** Kernel 3.10.0-327.18.2.el7.x86_64
  ** Mitaka from RDO rpms, puppet managed
  ** Neutron RPMS:

  openstack-neutron-8.1.2-1.el7.noarch
  openstack-neutron-common-8.1.2-1.el7.noarch
  openstack-neutron-fwaas-8.0.0-3.el7.noarch
  openstack-neutron-ml2-8.1.2-1.el7.noarch
  openstack-neutron-openvswitch-8.1.2-1.el7.noarch
  python-neutron-8.1.2-1.el7.noarch
  python-neutronclient-4.1.1-2.el7.noarch
  python-neutron-fwaas-8.0.0-3.el7.noarch
  python-neutron-lib-0.0.2-1.el7.noarch

  * Environment
  * 1 controller (running neutron-server, but no other neutron components)
  * 2 dedicated network nodes for neutron agents
  * N compute nodes running neutron l3-agent because of dvr_snat mode

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to