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 -- 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