For DVR router the snat node should be configured with "dvr_snat". For
now, "legacy/ha router" can run on a "dvr_snat" node. But, DVR router
can not run on "legacy" node, since the RouterInfo instance type is
based on the agent mode [1].

[1]
https://github.com/openstack/neutron/blob/master/neutron/agent/l3/agent.py#L401

** Changed in: neutron
       Status: New => 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/1917279

Title:
  [L3][Port forwarding][DVR] failed to process floating ip port
  forwarding on 'legacy' mode L3 agent

Status in neutron:
  Invalid

Bug description:
  Create dvr router on 'legacy' agent node, then we got AttributeError:
  'DvrLocalRouter' object has no attribute 'snat_namespace'.

  ERROR LOG:
  .agent.l3.agent [-] Failed to process compatible router: 
b247f145-569a-4d5a-bdd8-31a5213641ea: AttributeError: 'DvrLocalRouter' object 
has no attribute 'snat_namespace'
  .agent.l3.agent Traceback (most recent call last):
  .agent.l3.agent   File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 
783, in _process_routers_if_compatible
  .agent.l3.agent     self._process_router_if_compatible(router)
  .agent.l3.agent   File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 
625, in _process_router_if_compatible
  .agent.l3.agent     self._process_updated_router(router)
  .agent.l3.agent   File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 
673, in _process_updated_router
  .agent.l3.agent     self.l3_ext_manager.update_router(self.context, router)
  .agent.l3.agent   File 
"/opt/stack/neutron/neutron/agent/l3/l3_agent_extensions_manager.py", line 54, 
in update_router
  .agent.l3.agent     extension.obj.update_router(context, data)
  .agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in 
inner
  .agent.l3.agent     return f(*args, **kwargs)
  .agent.l3.agent   File 
"/opt/stack/neutron/neutron/agent/l3/extensions/port_forwarding.py", line 461, 
in update_router
  .agent.l3.agent     self.process_port_forwarding(context, data)
  .agent.l3.agent   File 
"/opt/stack/neutron/neutron/agent/l3/extensions/port_forwarding.py", line 435, 
in process_port_forwarding
  .agent.l3.agent     if not self._check_if_need_process(ri):
  .agent.l3.agent   File 
"/opt/stack/neutron/neutron/agent/l3/extensions/port_forwarding.py", line 279, 
in _check_if_need_process
  .agent.l3.agent     if is_distributed and not ri.snat_namespace.exists():
  .agent.l3.agent AttributeError: 'DvrLocalRouter' object has no attribute 
'snat_namespace'

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to