mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-23 22:50:09 +03:00
feature #3654: Merge back recover actions for new failure states
This commit is contained in:
parent
25d6c2a7f0
commit
5f4066c7e1
@ -309,7 +309,9 @@ void LifeCycleManager::deploy_success_action(int vid)
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_SUSPENDED||
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_STOPPED ||
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_UNDEPLOY ||
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_MIGRATE )
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_MIGRATE ||
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_MIGRATE_FAILURE ||
|
||||
vm->get_lcm_state() == VirtualMachine::BOOT_FAILURE )
|
||||
{
|
||||
vm->set_state(VirtualMachine::RUNNING);
|
||||
|
||||
@ -507,7 +509,9 @@ void LifeCycleManager::deploy_failure_action(int vid)
|
||||
|
||||
tm->trigger(TransferManager::EPILOG_STOP,vid);
|
||||
}
|
||||
else
|
||||
//wrong state + recover failure from failure state
|
||||
else if ( vm->get_lcm_state() != VirtualMachine::BOOT_FAILURE &&
|
||||
vm->get_lcm_state() != VirtualMachine::BOOT_MIGRATE_FAILURE )
|
||||
{
|
||||
vm->log("LCM",Log::ERROR,"deploy_failure_action, VM in a wrong state");
|
||||
}
|
||||
@ -720,22 +724,24 @@ void LifeCycleManager::prolog_success_action(int vid)
|
||||
//----------------------------------------------------
|
||||
// BOOT STATE
|
||||
//----------------------------------------------------
|
||||
|
||||
if ( lcm_state == VirtualMachine::PROLOG_RESUME )
|
||||
switch (lcm_state)
|
||||
{
|
||||
vm->set_state(VirtualMachine::BOOT_STOPPED);
|
||||
}
|
||||
else if ( lcm_state == VirtualMachine::PROLOG_UNDEPLOY )
|
||||
{
|
||||
vm->set_state(VirtualMachine::BOOT_UNDEPLOY);
|
||||
}
|
||||
else if ( lcm_state == VirtualMachine::PROLOG_MIGRATE )
|
||||
{
|
||||
vm->set_state(VirtualMachine::BOOT_MIGRATE);
|
||||
}
|
||||
else // PROLOG, PROLOG_FAILURE
|
||||
{
|
||||
vm->set_state(VirtualMachine::BOOT);
|
||||
case VirtualMachine::PROLOG_RESUME:
|
||||
vm->set_state(VirtualMachine::BOOT_STOPPED);
|
||||
break;
|
||||
case VirtualMachine::PROLOG_UNDEPLOY:
|
||||
vm->set_state(VirtualMachine::BOOT_UNDEPLOY);
|
||||
break;
|
||||
case VirtualMachine::PROLOG_MIGRATE:
|
||||
case VirtualMachine::PROLOG_MIGRATE_FAILURE: //recover success
|
||||
vm->set_state(VirtualMachine::BOOT_MIGRATE);
|
||||
break;
|
||||
case VirtualMachine::PROLOG:
|
||||
case VirtualMachine::PROLOG_FAILURE: //recover success
|
||||
vm->set_state(VirtualMachine::BOOT);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
vmpool->update(vm);
|
||||
@ -859,7 +865,9 @@ void LifeCycleManager::prolog_failure_action(int vid)
|
||||
|
||||
dm->trigger(DispatchManager::UNDEPLOY_SUCCESS,vid);
|
||||
}
|
||||
else
|
||||
//wrong state + recover failure from failure state
|
||||
else if ( state != VirtualMachine::PROLOG_MIGRATE_FAILURE &&
|
||||
state != VirtualMachine::PROLOG_FAILURE )
|
||||
{
|
||||
vm->log("LCM",Log::ERROR,"prolog_failure_action, VM in a wrong state");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user