yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #40998
[Bug 1515209] [NEW] HA router can't associate an external network without gateway ip
Public bug reported:
When associate a HA router with an external network without gateway ip,
I will get the following error:
2015-11-11 03:23:44.599 ERROR neutron.agent.l3.agent [-] Failed to process compatible router '8114b0c3-85e6-4b71-ab74-a0c1437882cd'
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent Traceback (most recent call last):
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 503, in _process_router_update
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_router_if_compatible(router)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 444, in _process_router_if_compatible
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_added_router(router)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 452, in _process_added_router
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent ri.process(self)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 387, in process
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent super(HaRouter, self).process(agent)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 366, in call
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.logger(e)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 197, in __exit__
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 363, in call
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent return func(*args, **kwargs)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 694, in process
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.process_external(agent)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 660, in process_external
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_external_gateway(ex_gw_port, agent.pd)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 569, in _process_external_gateway
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.external_gateway_added(ex_gw_port, interface_name)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 356, in external_gateway_added
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._add_gateway_vip(ex_gw_port, interface_name)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 249, in _add_gateway_vip
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._add_default_gw_virtual_route(ex_gw_port, interface_name)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 205, in _add_default_gw_virtual_route
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent instance.virtual_routes.gateway_routes = default_gw_rts
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent UnboundLocalError: local variable 'instance' referenced before assignment
For HA router, the default gw route should only be added when there is any gateway ip present.
https://github.com/openstack/neutron/blob/master/neutron/agent/l3/ha_router.py#L248
** Affects: neutron
Importance: Undecided
Assignee: Hong Hui Xiao (xiaohhui)
Status: New
** Tags: l3-ha
** Changed in: neutron
Assignee: (unassigned) => Hong Hui Xiao (xiaohhui)
** Tags added: l3-ha
** Description changed:
When associate a HA router with an external network without gateway ip,
I will get the following error:
- 2015-11-11 03:07:36.198 ERROR neutron.agent.l3.agent [-] Failed to process compatible router '8114b0c3-85e6-4b71-ab74-a0c1437882cd'
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent Traceback (most recent call last):
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 503, in _process_router_update
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self._process_router_if_compatible(router)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 446, in _process_router_if_compatible
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self._process_updated_router(router)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 460, in _process_updated_router
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent ri.process(self)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 387, in process
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent super(HaRouter, self).process(agent)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 366, in call
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self.logger(e)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 197, in __exit__
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 363, in call
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent return func(*args, **kwargs)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 694, in process
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self.process_external(agent)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 660, in process_external
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self._process_external_gateway(ex_gw_port, agent.pd)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 569, in _process_external_gateway
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self.external_gateway_added(ex_gw_port, interface_name)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 356, in external_gateway_added
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self._add_gateway_vip(ex_gw_port, interface_name)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 249, in _add_gateway_vip
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent self._add_default_gw_virtual_route(ex_gw_port, interface_name)
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 205, in _add_default_gw_virtual_route
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent instance.virtual_routes.gateway_routes = default_gw_rts
- 2015-11-11 03:07:36.198 TRACE neutron.agent.l3.agent UnboundLocalError: local variable 'instance' referenced before assignment
+ 2015-11-11 03:23:44.599 ERROR neutron.agent.l3.agent [-] Failed to process compatible router '8114b0c3-85e6-4b71-ab74-a0c1437882cd'
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent Traceback (most recent call last):
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 503, in _process_router_update
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_router_if_compatible(router)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 444, in _process_router_if_compatible
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_added_router(router)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 452, in _process_added_router
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent ri.process(self)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 387, in process
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent super(HaRouter, self).process(agent)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 366, in call
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.logger(e)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 197, in __exit__
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 363, in call
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent return func(*args, **kwargs)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 694, in process
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.process_external(agent)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 660, in process_external
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_external_gateway(ex_gw_port, agent.pd)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 569, in _process_external_gateway
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.external_gateway_added(ex_gw_port, interface_name)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 356, in external_gateway_added
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._add_gateway_vip(ex_gw_port, interface_name)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 249, in _add_gateway_vip
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._add_default_gw_virtual_route(ex_gw_port, interface_name)
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 205, in _add_default_gw_virtual_route
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent instance.virtual_routes.gateway_routes = default_gw_rts
+ 2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent UnboundLocalError: local variable 'instance' referenced before assignment
For HA router, the default gw route should only be added when there is any gateway ip present.
https://github.com/openstack/neutron/blob/master/neutron/agent/l3/ha_router.py#L248
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1515209
Title:
HA router can't associate an external network without gateway ip
Status in neutron:
New
Bug description:
When associate a HA router with an external network without gateway
ip, I will get the following error:
2015-11-11 03:23:44.599 ERROR neutron.agent.l3.agent [-] Failed to process compatible router '8114b0c3-85e6-4b71-ab74-a0c1437882cd'
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent Traceback (most recent call last):
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 503, in _process_router_update
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_router_if_compatible(router)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 444, in _process_router_if_compatible
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_added_router(router)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 452, in _process_added_router
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent ri.process(self)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 387, in process
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent super(HaRouter, self).process(agent)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 366, in call
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.logger(e)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 197, in __exit__
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/common/utils.py", line 363, in call
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent return func(*args, **kwargs)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 694, in process
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.process_external(agent)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 660, in process_external
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._process_external_gateway(ex_gw_port, agent.pd)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/router_info.py", line 569, in _process_external_gateway
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self.external_gateway_added(ex_gw_port, interface_name)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 356, in external_gateway_added
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._add_gateway_vip(ex_gw_port, interface_name)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 249, in _add_gateway_vip
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent self._add_default_gw_virtual_route(ex_gw_port, interface_name)
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 205, in _add_default_gw_virtual_route
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent instance.virtual_routes.gateway_routes = default_gw_rts
2015-11-11 03:23:44.599 TRACE neutron.agent.l3.agent UnboundLocalError: local variable 'instance' referenced before assignment
For HA router, the default gw route should only be added when there is any gateway ip present.
https://github.com/openstack/neutron/blob/master/neutron/agent/l3/ha_router.py#L248
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1515209/+subscriptions
Follow ups