← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1505203] [NEW] Setting admin_state_up=False on an HA router with gateway raises an exception

 

Public bug reported:

Steps to reproduce:

1. Create an HA router,
2. Connect the router to a gateway,
3. neutron router-update <router> --admin-state-down=False

This results in the following traceback on the l3 agent:

2015-10-12 14:43:44.755 ERROR neutron.agent.l3.router_info [-] 
Command: ['ip', 'netns', 'exec', u'qrouter-0ce494ff-593a-4d6d-bf06-248979d6cf7a', 'ip', '-4', 'addr', 'del', '172.24.4.11/24', 'dev', u'qg-4f6a7587-00']
Exit code: 2
Stdin: 
Stdout: 
Stderr: RTNETLINK answers: Cannot assign requested address

2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Traceback (most recent call last):
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/common/utils.py", line 356, in call
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     return func(*args, **kwargs)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 695, in process
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self.process_external(agent)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 661, in process_external
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self._process_external_gateway(ex_gw_port, agent.pd)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 575, in _process_external_gateway
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self.external_gateway_removed(self.ex_gw_port, interface_name)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/ha_router.py", line 368, in external_gateway_removed
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     interface_name)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 550, in external_gateway_removed
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     ip_addr['prefixlen']))
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 201, in remove_external_gateway_ip
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     device.delete_addr_and_conntrack_state(ip_cidr)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 255, in delete_addr_and_conntrack_state
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self.addr.delete(cidr)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 511, in delete
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     'dev', self.name))
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 295, in _as_root
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     use_root_namespace=use_root_namespace)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 80, in _as_root
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     log_fail_as_error=self.log_fail_as_error)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 89, in _execute
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     log_fail_as_error=log_fail_as_error)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/utils.py", line 157, in execute
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     raise RuntimeError(m)
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info RuntimeError:
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Command: ['ip', 'netns', 'exec', u'qrouter-0ce494ff-593a-4d6d-bf06-248979d6cf7a', 'ip', '-4', 'addr', 'del', '172.24.4.11/24', 'dev', u'qg-4f6a7587-00']
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Exit code: 2
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Stdin:
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Stdout:
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Stderr: RTNETLINK answers: Cannot assign requested address
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info 
2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info 
2015-10-12 14:43:44.755 ERROR neutron.agent.l3.agent [-] Error while deleting router 0ce494ff-593a-4d6d-bf06-248979d6cf7a

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: l3-ha

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

Title:
  Setting admin_state_up=False on an HA router with gateway raises an
  exception

Status in neutron:
  New

Bug description:
  Steps to reproduce:

  1. Create an HA router,
  2. Connect the router to a gateway,
  3. neutron router-update <router> --admin-state-down=False

  This results in the following traceback on the l3 agent:

  2015-10-12 14:43:44.755 ERROR neutron.agent.l3.router_info [-] 
  Command: ['ip', 'netns', 'exec', u'qrouter-0ce494ff-593a-4d6d-bf06-248979d6cf7a', 'ip', '-4', 'addr', 'del', '172.24.4.11/24', 'dev', u'qg-4f6a7587-00']
  Exit code: 2
  Stdin: 
  Stdout: 
  Stderr: RTNETLINK answers: Cannot assign requested address

  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Traceback (most recent call last):
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/common/utils.py", line 356, in call
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     return func(*args, **kwargs)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 695, in process
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self.process_external(agent)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 661, in process_external
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self._process_external_gateway(ex_gw_port, agent.pd)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 575, in _process_external_gateway
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self.external_gateway_removed(self.ex_gw_port, interface_name)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/ha_router.py", line 368, in external_gateway_removed
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     interface_name)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 550, in external_gateway_removed
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     ip_addr['prefixlen']))
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/l3/router_info.py", line 201, in remove_external_gateway_ip
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     device.delete_addr_and_conntrack_state(ip_cidr)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 255, in delete_addr_and_conntrack_state
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     self.addr.delete(cidr)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 511, in delete
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     'dev', self.name))
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 295, in _as_root
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     use_root_namespace=use_root_namespace)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 80, in _as_root
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     log_fail_as_error=self.log_fail_as_error)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/ip_lib.py", line 89, in _execute
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     log_fail_as_error=log_fail_as_error)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info   File "/opt/openstack/neutron/neutron/agent/linux/utils.py", line 157, in execute
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info     raise RuntimeError(m)
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info RuntimeError:
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Command: ['ip', 'netns', 'exec', u'qrouter-0ce494ff-593a-4d6d-bf06-248979d6cf7a', 'ip', '-4', 'addr', 'del', '172.24.4.11/24', 'dev', u'qg-4f6a7587-00']
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Exit code: 2
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Stdin:
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Stdout:
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info Stderr: RTNETLINK answers: Cannot assign requested address
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info 
  2015-10-12 14:43:44.755 TRACE neutron.agent.l3.router_info 
  2015-10-12 14:43:44.755 ERROR neutron.agent.l3.agent [-] Error while deleting router 0ce494ff-593a-4d6d-bf06-248979d6cf7a

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


Follow ups