From 58f8f93b52e7de2d3751dd3291427a65a3c1079b Mon Sep 17 00:00:00 2001 From: Mark Washenberger Date: Fri, 10 Feb 2012 13:46:24 -0500 Subject: Handle network api failures more gracefully addresses bug 930329 Change-Id: Idb0934b9dd6ebc0e5e81495fb4454e4e50bc1f57 --- nova/api/openstack/common.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'nova/api') diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py index c19b8f103..a7ec48f70 100644 --- a/nova/api/openstack/common.py +++ b/nova/api/openstack/common.py @@ -27,6 +27,7 @@ from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova.compute import vm_states from nova.compute import task_states +from nova import exception from nova import flags from nova import log as logging from nova import network @@ -333,10 +334,16 @@ def get_networks_for_instance(context, instance): # sqlalchemy FK (KeyError, AttributeError) # fail fall back to calling out the the # network api - network_api = network.API() + pass + network_api = network.API() + + try: nw_info = network_api.get_instance_nw_info(context, instance) - return get_networks_for_instance_from_nw_info(nw_info) + except exception.InstanceNotFound: + nw_info = [] + + return get_networks_for_instance_from_nw_info(nw_info) def raise_http_conflict_for_instance_invalid_state(exc, action): -- cgit