diff --git a/src/lcm/LifeCycleActions.cc b/src/lcm/LifeCycleActions.cc index 9ae83d8725..af4837bf7a 100644 --- a/src/lcm/LifeCycleActions.cc +++ b/src/lcm/LifeCycleActions.cc @@ -269,6 +269,18 @@ void LifeCycleManager::migrate_action(int vid) else //VirtualMachine::UNKNOWN { vm->set_state(VirtualMachine::PROLOG_MIGRATE_UNKNOWN); + + vm->set_previous_running_etime(the_time); + + vm->set_previous_etime(the_time); + + vm->set_previous_action(History::MIGRATE_ACTION); + + vm->set_previous_reason(History::USER); + + vm->set_previous_vm_info(); + + vmpool->update_previous_history(vm); } vm->set_state(VirtualMachine::ACTIVE); @@ -344,9 +356,11 @@ void LifeCycleManager::live_migrate_action(int vid) vm->set_stime(time(0)); + vmpool->update_history(vm); + vm->set_previous_action(History::LIVE_MIGRATE_ACTION); - vmpool->update_history(vm); + vmpool->update_previous_history(vm); vm->get_requirements(cpu, mem, disk, pci); diff --git a/src/lcm/LifeCycleStates.cc b/src/lcm/LifeCycleStates.cc index 16b85b720c..04fef064ec 100644 --- a/src/lcm/LifeCycleStates.cc +++ b/src/lcm/LifeCycleStates.cc @@ -683,11 +683,7 @@ void LifeCycleManager::prolog_success_action(int vid) break; 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_MIGRATE_UNKNOWN_FAILURE: case VirtualMachine::PROLOG: case VirtualMachine::PROLOG_FAILURE: //recover success action = VirtualMachineManager::DEPLOY; @@ -736,6 +732,7 @@ void LifeCycleManager::prolog_success_action(int vid) vm->set_vm_info(); vm->set_reason(History::USER); + vm->set_action(History::MIGRATE_ACTION); vmpool->update_history(vm);