diff options
author | Brian Elliott <brian.elliott@rackspace.com> | 2013-02-27 05:06:12 +0000 |
---|---|---|
committer | Brian Elliott <brian.elliott@rackspace.com> | 2013-02-27 23:42:01 +0000 |
commit | 9249785be48079bbacc162f2e627a5aee1aa5871 (patch) | |
tree | 149496d707f388486d14ee872e5d17490ee1fa6c /nova/compute | |
parent | 907594ec28193a1ba9fdaf7420b153433e7ea47b (diff) | |
download | nova-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-x | nova/compute/manager.py | 7 |
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: |