From b788402263a9142f94f91a05e29e2fd21ad39392 Mon Sep 17 00:00:00 2001 From: Alex Glikson Date: Fri, 8 Mar 2013 13:00:54 +0200 Subject: [PATCH] Fixes instance action exception in "evacuate" API. 'Evacuate' instance action was not created (incl. in the DB) which caused exception to be raised during action_event_start. Change-Id: Iec5f0a91f9b08fbdcf3ace1eaa0efbc4d9d8fc04 Fixes: bug 1152512 --- nova/compute/api.py | 3 +++ nova/compute/instance_actions.py | 1 + 2 files changed, 4 insertions(+) diff --git a/nova/compute/api.py b/nova/compute/api.py index dc90748a4c95..bd901081928c 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -2470,6 +2470,9 @@ class API(base.Base): instance = self.update(context, instance, expected_task_state=None, task_state=task_states.REBUILDING) + + self._record_action_start(context, instance, instance_actions.EVACUATE) + return self.compute_rpcapi.rebuild_instance(context, instance=instance, new_pass=admin_password, diff --git a/nova/compute/instance_actions.py b/nova/compute/instance_actions.py index 32d2801286cf..f0d9938bc7f1 100644 --- a/nova/compute/instance_actions.py +++ b/nova/compute/instance_actions.py @@ -27,6 +27,7 @@ they are used. CREATE = 'create' DELETE = 'delete' +EVACUATE = 'evacuate' RESTORE = 'restore' STOP = 'stop' START = 'start'