diff --git a/src/dm/DispatchManagerActions.cc b/src/dm/DispatchManagerActions.cc index 2ff7cd348d..a52f715f73 100644 --- a/src/dm/DispatchManagerActions.cc +++ b/src/dm/DispatchManagerActions.cc @@ -510,8 +510,6 @@ int DispatchManager::resume( Nebula& nd = Nebula::instance(); LifeCycleManager * lcm = nd.get_lcm(); - vm->set_state(VirtualMachine::ACTIVE); - vmpool->update(vm); vm->log("DiM", Log::INFO, "New VM state is ACTIVE."); diff --git a/src/lcm/LifeCycleActions.cc b/src/lcm/LifeCycleActions.cc index 23c2458a66..02870ddda1 100644 --- a/src/lcm/LifeCycleActions.cc +++ b/src/lcm/LifeCycleActions.cc @@ -395,7 +395,7 @@ void LifeCycleManager::restore_action(int vid) return; } - if (vm->get_state() == VirtualMachine::ACTIVE) + if (vm->get_state() == VirtualMachine::SUSPENDED) { Nebula& nd = Nebula::instance(); VirtualMachineManager * vmm = nd.get_vmm(); @@ -406,6 +406,7 @@ void LifeCycleManager::restore_action(int vid) //---------------------------------------------------- // BOOT STATE (FROM SUSPEND) //---------------------------------------------------- + vm->set_state(VirtualMachine::ACTIVE); vm->set_state(VirtualMachine::BOOT); @@ -495,10 +496,10 @@ void LifeCycleManager::restart_action(int vid) return; } - if ((vm->get_state() == VirtualMachine::ACTIVE && + if ((vm->get_state() == VirtualMachine::ACTIVE && (vm->get_lcm_state() == VirtualMachine::UNKNOWN || vm->get_lcm_state() == VirtualMachine::BOOT )) - || vm->get_state() == VirtualMachine::POWEROFF) + ||vm->get_state() == VirtualMachine::POWEROFF) { Nebula& nd = Nebula::instance(); VirtualMachineManager * vmm = nd.get_vmm();