diff options
| author | Rick Harris <rconradharris@gmail.com> | 2013-04-02 19:51:39 +0000 |
|---|---|---|
| committer | Rick Harris <rconradharris@gmail.com> | 2013-04-02 19:51:39 +0000 |
| commit | 25afdbbda8d56c509a4b34e0d6feeaafb2e46e5b (patch) | |
| tree | 0346632aa05a2751d704f4d46f5e00015cd7ef20 | |
| parent | a17d03c43f1f118c4a1e16e092cd0a570f0f1694 (diff) | |
| download | nova-25afdbbda8d56c509a4b34e0d6feeaafb2e46e5b.tar.gz nova-25afdbbda8d56c509a4b34e0d6feeaafb2e46e5b.tar.xz nova-25afdbbda8d56c509a4b34e0d6feeaafb2e46e5b.zip | |
Fix _error_out_instance exception handler
Since Eventlet clears exceptions between greenthread switching, we need
to save that exception so it can be re-raised.
The _error_out_instance event handler did not wrap the quotas call with
the save_and_reraise_exception, so the original exception was lost.
Fixes bug 1163552
Change-Id: I69d28917aae1d787351cd800f8996532e5485eb2
| -rwxr-xr-x | nova/compute/manager.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 30e33d8e0..775287192 100755 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -3945,8 +3945,8 @@ class ComputeManager(manager.SchedulerDependentManager): try: yield except Exception, error: - self._quota_rollback(context, reservations) with excutils.save_and_reraise_exception(): + self._quota_rollback(context, reservations) msg = _('%s. Setting instance vm_state to ERROR') LOG.error(msg % error, instance_uuid=instance_uuid) self._set_instance_error_state(context, instance_uuid) |
