Bug 1285882 - Setting admin_state_up=False on an HA router with gateway raises an exception in standby nodes
Summary: Setting admin_state_up=False on an HA router with gateway raises an exception...
Keywords:
Status: CLOSED DUPLICATE of bug 1289994
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 8.0 (Liberty)
Assignee: lpeer
QA Contact: Ofer Blaut
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-26 20:41 UTC by Brent Eagles
Modified: 2016-04-26 19:48 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-12-16 23:29:37 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1505203 0 None None None Never
OpenStack gerrit 244054 0 None None None Never

Description Brent Eagles 2015-11-26 20:41:36 UTC
Cloned from launchpad bug 1505203.

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 standby l3 agents:

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

Specification URL (additional information):

https://bugs.launchpad.net/neutron/+bug/1505203

Comment 1 Assaf Muller 2015-12-16 23:29:37 UTC
We're going to rebase OSP 8 before GA, no need to track individual backports from stable/liberty.

*** This bug has been marked as a duplicate of bug 1289994 ***


Note You need to log in before you can comment on or make changes to this bug.