Reviewed: https://review.openstack.org/516322 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=d2b909f5339e72f84de797977384e4164d72a154 Submitter: Zuul Branch: master
commit d2b909f5339e72f84de797977384e4164d72a154 Author: Brian Haley <bha...@redhat.com> Date: Mon Oct 30 09:41:46 2017 -0400 Move check_ha_state_for_router() into notification code As soon as we call router_info.initialize(), we could possibly try and process a router. If it is HA, and we have not fully initialized the HA port or keepalived manager, we could trigger an exception. Move the call to check_ha_state_for_router() into the update notification code so it's done after the router has been created. Updated the functional tests for this since the unit tests are now invalid. Also added a retry counter to the RouterUpdate object so the l3-agent code will stop re-enqueuing the same update in an infinite loop. We will delete the router if the limit is reached. Finally, have the L3 HA code verify that ha_port and keepalived_manager objects are valid during deletion since there is no need to do additional work if they are not. Change-Id: Iae65305cbc04b7af482032ddf06b6f2162a9c862 Closes-bug: #1726370 ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1726370 Title: Trace in fetch_and_sync_all_routers Status in neutron: Fix Released Bug description: I am seeing below trace fetch_and_sync_all_routers for HA router 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task [req-19638c71-4ad9-412f-b5d7-dc9cb84eca4f - - - - -] Error during L3NATAgentWithStateReport.periodic_sync_routers_task 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task Traceback (most recent call last): 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/oslo_service/periodic_task.py", line 220, in run_periodic_tasks 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task task(self, context) 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 568, in periodic_sync_routers_task 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task self.fetch_and_sync_all_routers(context, ns_manager) 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 603, in fetch_and_sync_all_routers 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task r['id'], r.get(l3_constants.HA_ROUTER_STATE_KEY)) 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/neutron/agent/l3/ha.py", line 120, in check_ha_state_for_router 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task if ri and current_state != TRANSLATION_MAP[ri.ha_state]: 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task File "/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py", line 81, in ha_state 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task ha_state_path = self.keepalived_manager.get_full_config_file_path( 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task AttributeError: 'NoneType' object has no attribute 'get_full_config_file_path' 2017-10-12 16:17:03.425 12387 ERROR oslo_service.periodic_task To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1726370/+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