Public bug reported:

A recent change in the agent code have introduced this problem.

When a Gateway is cleared from the router, even though there are no existing 
floating IPs, the "external_gateway_removed" function in "agent.py" is calling 
"process_floatingips". 
That may be the reason for this failure.


Stderr: RTNETLINK answers: No such process

2015-02-11 23:12:15.307 2809 ERROR neutron.agent.l3.dvr [-] DVR: removed snat 
failed
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Traceback (most recent 
call last):
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/l3/dvr.py", line 197, in 
_snat_redirect_remove
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
ns_ipd.route.delete_gateway(table=snat_idx)
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 415, in 
delete_gateway
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     self._as_root(*args)
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 253, in _as_root
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
kwargs.get('use_root_namespace', False))
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 83, in _as_root
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
log_fail_as_error=self.log_fail_as_error)
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 95, in _execute
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
log_fail_as_error=log_fail_as_error)
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/utils.py", line 83, in execute
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     raise 
RuntimeError(m)
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr RuntimeError: 
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Command: ['sudo', 
'/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 
'exec', 'qrouter-1cfe7654-a669-4f73-a21d-d5110d7c0297', 'ip', 'route', 'del', 
'default', 'dev', 'qr-467e8832-93', 'table', '547711270']
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Exit code: 2
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Stdout: 
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Stderr: RTNETLINK 
answers: No such process
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr 
2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr 
2015-02-11 23:12:18.846 2809 ERROR neutron.agent.l3.agent [-] 'NoneType' object 
has no attribute 'get_int_device_name'
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent Traceback (most 
recent call last):
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/common/utils.py", line 342, in call
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     return 
func(*args, **kwargs)
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 602, in process_router
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     
self._process_external(ri)
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 565, in 
_process_external
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     
self._process_external_gateway(ri)
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 503, in 
_process_external_gateway
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     
self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 905, in 
external_gateway_removed
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     ri, ex_gw_port)
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 694, in 
_get_external_device_interface_name
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     fip_int = 
ri.fip_ns.get_int_device_name(ri.router_id)
2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent AttributeError: 
'NoneType' object has no attribute 'get_int_device_name'
2015-02-11 23:12:18.846 2809 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 1137, in 
_process_router_update
    self._router_removed(update.id)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 409, in 
_router_removed
    self.process_router(ri)
  File "/opt/stack/new/neutron/neutron/common/utils.py", line 345, 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 342, in call
    return func(*args, **kwargs)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 602, in 
process_router
    self._process_external(ri)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 565, in 
_process_external
    self._process_external_gateway(ri)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 503, in 
_process_external_gateway
    self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 905, in 
external_gateway_removed
    ri, ex_gw_port)
  File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 694, in 
_get_external_device_interface_name
    fip_int = ri.fip_ns.get_int_device_name(ri.router_id)
AttributeError: 'NoneType' object has no attribute 'get_int_device_name'

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: 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/1421497

Title:
  Gateway clear generates a TRACE - AttributeError in
  get_int_device_name in DVR routers

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  A recent change in the agent code have introduced this problem.

  When a Gateway is cleared from the router, even though there are no existing 
floating IPs, the "external_gateway_removed" function in "agent.py" is calling 
"process_floatingips". 
  That may be the reason for this failure.

  
  Stderr: RTNETLINK answers: No such process

  2015-02-11 23:12:15.307 2809 ERROR neutron.agent.l3.dvr [-] DVR: removed snat 
failed
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Traceback (most 
recent call last):
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/l3/dvr.py", line 197, in 
_snat_redirect_remove
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
ns_ipd.route.delete_gateway(table=snat_idx)
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 415, in 
delete_gateway
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
self._as_root(*args)
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 253, in _as_root
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
kwargs.get('use_root_namespace', False))
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 83, in _as_root
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
log_fail_as_error=self.log_fail_as_error)
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/ip_lib.py", line 95, in _execute
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     
log_fail_as_error=log_fail_as_error)
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr   File 
"/opt/stack/new/neutron/neutron/agent/linux/utils.py", line 83, in execute
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr     raise 
RuntimeError(m)
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr RuntimeError: 
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Command: ['sudo', 
'/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 
'exec', 'qrouter-1cfe7654-a669-4f73-a21d-d5110d7c0297', 'ip', 'route', 'del', 
'default', 'dev', 'qr-467e8832-93', 'table', '547711270']
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Exit code: 2
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Stdout: 
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr Stderr: RTNETLINK 
answers: No such process
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr 
  2015-02-11 23:12:15.307 2809 TRACE neutron.agent.l3.dvr 
  2015-02-11 23:12:18.846 2809 ERROR neutron.agent.l3.agent [-] 'NoneType' 
object has no attribute 'get_int_device_name'
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent Traceback (most 
recent call last):
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/common/utils.py", line 342, in call
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     return 
func(*args, **kwargs)
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 602, in process_router
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     
self._process_external(ri)
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 565, in 
_process_external
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     
self._process_external_gateway(ri)
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 503, in 
_process_external_gateway
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     
self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 905, in 
external_gateway_removed
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     ri, ex_gw_port)
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent   File 
"/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 694, in 
_get_external_device_interface_name
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent     fip_int = 
ri.fip_ns.get_int_device_name(ri.router_id)
  2015-02-11 23:12:18.846 2809 TRACE neutron.agent.l3.agent AttributeError: 
'NoneType' object has no attribute 'get_int_device_name'
  2015-02-11 23:12:18.846 2809 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 1137, in 
_process_router_update
      self._router_removed(update.id)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 409, in 
_router_removed
      self.process_router(ri)
    File "/opt/stack/new/neutron/neutron/common/utils.py", line 345, 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 342, in call
      return func(*args, **kwargs)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 602, in 
process_router
      self._process_external(ri)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 565, in 
_process_external
      self._process_external_gateway(ri)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 503, in 
_process_external_gateway
      self.external_gateway_removed(ri, ri.ex_gw_port, interface_name)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 905, in 
external_gateway_removed
      ri, ex_gw_port)
    File "/opt/stack/new/neutron/neutron/agent/l3/agent.py", line 694, in 
_get_external_device_interface_name
      fip_int = ri.fip_ns.get_int_device_name(ri.router_id)
  AttributeError: 'NoneType' object has no attribute 'get_int_device_name'

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1421497/+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