summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorBrian Elliott <brian.elliott@rackspace.com>2013-02-27 05:06:12 +0000
committerBrian Elliott <brian.elliott@rackspace.com>2013-02-27 23:42:01 +0000
commit9249785be48079bbacc162f2e627a5aee1aa5871 (patch)
tree149496d707f388486d14ee872e5d17490ee1fa6c /nova/compute
parent907594ec28193a1ba9fdaf7420b153433e7ea47b (diff)
downloadnova-9249785be48079bbacc162f2e627a5aee1aa5871.tar.gz
nova-9249785be48079bbacc162f2e627a5aee1aa5871.tar.xz
nova-9249785be48079bbacc162f2e627a5aee1aa5871.zip
Suppress retries on UnexpectedTaskStateErrors
Don't try to re-schedule if an UnexpectedTaskStateError occurs during a build. If the instance was deleted mid-build, just catch the exception and log a message. Change-Id: I5e577f252ee71f310a749186060808723b676854
Diffstat (limited to 'nova/compute')
-rwxr-xr-xnova/compute/manager.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 99b97e921..9ca00bd9b 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -780,6 +780,13 @@ class ComputeManager(manager.SchedulerDependentManager):
msg = _('Failed to dealloc network for deleted instance')
LOG.exception(msg, instance=instance)
raise
+ except exception.UnexpectedTaskStateError as e:
+ actual_task_state = e.kwargs.get('actual', None)
+ if actual_task_state == 'deleting':
+ msg = _('Instance was deleted during spawn.')
+ LOG.debug(msg, instance=instance)
+ else:
+ raise
except Exception:
exc_info = sys.exc_info()
# try to re-schedule instance: