From 58d725682e8e44f71c5600ee05277cc52325d4ca Mon Sep 17 00:00:00 2001 From: Anton Todorov Date: Thu, 23 Jun 2016 13:57:02 +0300 Subject: [PATCH] fix for bug #4593 (#104) When VM in UNKNOWN state is rescheduled it can not be migrated anymore because a check in VirtualMachineMigrate::request_execute is not satisfied due to previous history record not closed properly. --- src/lcm/LifeCycleStates.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lcm/LifeCycleStates.cc b/src/lcm/LifeCycleStates.cc index e05d2e715e..16b85b720c 100644 --- a/src/lcm/LifeCycleStates.cc +++ b/src/lcm/LifeCycleStates.cc @@ -682,10 +682,14 @@ void LifeCycleManager::prolog_success_action(int vid) vm->set_state(VirtualMachine::BOOT_MIGRATE); break; - case VirtualMachine::PROLOG: - case VirtualMachine::PROLOG_FAILURE: //recover success case VirtualMachine::PROLOG_MIGRATE_UNKNOWN: case VirtualMachine::PROLOG_MIGRATE_UNKNOWN_FAILURE: //recover success + vm->set_previous_reason(History::USER); + vm->set_previous_action(History::MIGRATE_ACTION); + vmpool->update_previous_history(vm); + + case VirtualMachine::PROLOG: + case VirtualMachine::PROLOG_FAILURE: //recover success action = VirtualMachineManager::DEPLOY; vm->set_state(VirtualMachine::BOOT); break;