mirror of
https://github.com/OpenNebula/one.git
synced 2025-04-01 06:50:25 +03:00
feature #3782: Add DISK_SNAPSHOT_POWEROFF state
This commit is contained in:
parent
98f76cf3fe
commit
e306680729
include
share/doc/xsd
src
lcm
oca
sunstone
@ -155,7 +155,8 @@ public:
|
||||
BOOT_UNDEPLOY_FAILURE = 47,
|
||||
BOOT_STOPPED_FAILURE = 48,
|
||||
PROLOG_RESUME_FAILURE = 49,
|
||||
PROLOG_UNDEPLOY_FAILURE = 50
|
||||
PROLOG_UNDEPLOY_FAILURE = 50,
|
||||
DISK_SNAPSHOT_POWEROFF = 51
|
||||
};
|
||||
|
||||
static int lcm_state_from_str(string& st, LcmState& state)
|
||||
@ -211,6 +212,7 @@ public:
|
||||
else if ( st == "BOOT_UNDEPLOY_FAILURE") { state = BOOT_UNDEPLOY_FAILURE; }
|
||||
else if ( st == "PROLOG_RESUME_FAILURE") { state = PROLOG_RESUME_FAILURE; }
|
||||
else if ( st == "PROLOG_UNDEPLOY_FAILURE") { state = PROLOG_UNDEPLOY_FAILURE; }
|
||||
else if ( st == "DISK_SNAPSHOT_POWEROFF") { state = DISK_SNAPSHOT_POWEROFF; }
|
||||
else {return -1;}
|
||||
|
||||
return 0;
|
||||
@ -269,6 +271,7 @@ public:
|
||||
case BOOT_UNDEPLOY_FAILURE: st = "BOOT_UNDEPLOY_FAILURE"; break;
|
||||
case PROLOG_RESUME_FAILURE: st = "PROLOG_RESUME_FAILURE"; break;
|
||||
case PROLOG_UNDEPLOY_FAILURE: st = "PROLOG_UNDEPLOY_FAILURE"; break;
|
||||
case DISK_SNAPSHOT_POWEROFF: st = "DISK_SNAPSHOT_POWEROFF"; break;
|
||||
}
|
||||
|
||||
return st;
|
||||
|
@ -163,7 +163,8 @@
|
||||
BOOT_UNDEPLOY_FAILURE = 47,
|
||||
BOOT_STOPPED_FAILURE = 48,
|
||||
PROLOG_RESUME_FAILURE = 49,
|
||||
PROLOG_UNDEPLOY_FAILURE = 50
|
||||
PROLOG_UNDEPLOY_FAILURE = 50,
|
||||
DISK_SNAPSHOT_POWEROFF = 51
|
||||
-->
|
||||
<xs:element name="LCM_STATE" type="xs:integer"/>
|
||||
<xs:element name="PREV_STATE" type="xs:integer"/>
|
||||
|
@ -96,7 +96,8 @@
|
||||
BOOT_UNDEPLOY_FAILURE = 47,
|
||||
BOOT_STOPPED_FAILURE = 48,
|
||||
PROLOG_RESUME_FAILURE = 49,
|
||||
PROLOG_UNDEPLOY_FAILURE = 50
|
||||
PROLOG_UNDEPLOY_FAILURE = 50,
|
||||
DISK_SNAPSHOT_POWEROFF = 51
|
||||
-->
|
||||
<xs:element name="LCM_STATE" type="xs:integer"/>
|
||||
<xs:element name="PREV_STATE" type="xs:integer"/>
|
||||
|
@ -917,6 +917,7 @@ void LifeCycleManager::clean_up_vm(VirtualMachine * vm, bool dispose, int& imag
|
||||
|
||||
case VirtualMachine::HOTPLUG:
|
||||
vm->clear_attach_disk();
|
||||
vmpool->update(vm);
|
||||
|
||||
vm->set_running_etime(the_time);
|
||||
vmpool->update_history(vm);
|
||||
@ -927,6 +928,7 @@ void LifeCycleManager::clean_up_vm(VirtualMachine * vm, bool dispose, int& imag
|
||||
|
||||
case VirtualMachine::HOTPLUG_NIC:
|
||||
vm->clear_attach_nic();
|
||||
vmpool->update(vm);
|
||||
|
||||
vm->set_running_etime(the_time);
|
||||
vmpool->update_history(vm);
|
||||
@ -936,11 +938,8 @@ void LifeCycleManager::clean_up_vm(VirtualMachine * vm, bool dispose, int& imag
|
||||
break;
|
||||
|
||||
case VirtualMachine::HOTPLUG_SAVEAS:
|
||||
case VirtualMachine::HOTPLUG_SAVEAS_POWEROFF:
|
||||
case VirtualMachine::HOTPLUG_SAVEAS_SUSPENDED:
|
||||
tm->trigger(TransferManager::DRIVER_CANCEL, vid);
|
||||
|
||||
vm->cancel_saveas_disk(image_id);
|
||||
vmpool->update(vm);
|
||||
|
||||
vm->set_running_etime(the_time);
|
||||
vmpool->update_history(vm);
|
||||
@ -949,14 +948,34 @@ void LifeCycleManager::clean_up_vm(VirtualMachine * vm, bool dispose, int& imag
|
||||
vmm->trigger(VirtualMachineManager::CLEANUP,vid);
|
||||
break;
|
||||
|
||||
case VirtualMachine::HOTPLUG_SAVEAS_POWEROFF:
|
||||
case VirtualMachine::HOTPLUG_SAVEAS_SUSPENDED:
|
||||
tm->trigger(TransferManager::DRIVER_CANCEL, vid);
|
||||
|
||||
vm->cancel_saveas_disk(image_id);
|
||||
vmpool->update(vm);
|
||||
|
||||
vm->set_running_etime(the_time);
|
||||
vmpool->update_history(vm);
|
||||
break;
|
||||
|
||||
case VirtualMachine::HOTPLUG_PROLOG_POWEROFF:
|
||||
case VirtualMachine::HOTPLUG_EPILOG_POWEROFF:
|
||||
vm->clear_attach_disk();
|
||||
vmpool->update(vm);
|
||||
|
||||
tm->trigger(TransferManager::DRIVER_CANCEL,vid);
|
||||
tm->trigger(TransferManager::EPILOG_DELETE,vid);
|
||||
break;
|
||||
|
||||
case VirtualMachine::DISK_SNAPSHOT_POWEROFF:
|
||||
//TODO CLEAR CURRENT SNAPSHOT
|
||||
//vmpool->update(vm);
|
||||
|
||||
tm->trigger(TransferManager::DRIVER_CANCEL, vid);
|
||||
tm->trigger(TransferManager::EPILOG_DELETE,vid);
|
||||
break;
|
||||
|
||||
case VirtualMachine::MIGRATE:
|
||||
vm->set_running_etime(the_time);
|
||||
vmpool->update_history(vm);
|
||||
@ -967,7 +986,8 @@ void LifeCycleManager::clean_up_vm(VirtualMachine * vm, bool dispose, int& imag
|
||||
vm->set_previous_reason(History::USER);
|
||||
vmpool->update_previous_history(vm);
|
||||
|
||||
hpool->del_capacity(vm->get_previous_hid(), vm->get_oid(), cpu, mem, disk);
|
||||
hpool->del_capacity(vm->get_previous_hid(), vm->get_oid(), cpu,
|
||||
mem, disk);
|
||||
|
||||
vmm->trigger(VirtualMachineManager::DRIVER_CANCEL,vid);
|
||||
vmm->trigger(VirtualMachineManager::CLEANUP_BOTH,vid);
|
||||
@ -992,7 +1012,8 @@ void LifeCycleManager::clean_up_vm(VirtualMachine * vm, bool dispose, int& imag
|
||||
vm->set_previous_reason(History::USER);
|
||||
vmpool->update_previous_history(vm);
|
||||
|
||||
hpool->del_capacity(vm->get_previous_hid(), vm->get_oid(), cpu, mem, disk);
|
||||
hpool->del_capacity(vm->get_previous_hid(), vm->get_oid(), cpu,
|
||||
mem, disk);
|
||||
|
||||
vmm->trigger(VirtualMachineManager::DRIVER_CANCEL,vid);
|
||||
vmm->trigger(VirtualMachineManager::CLEANUP_PREVIOUS,vid);
|
||||
@ -1220,6 +1241,10 @@ void LifeCycleManager::recover(VirtualMachine * vm, bool success)
|
||||
case VirtualMachine::HOTPLUG_SNAPSHOT:
|
||||
lcm_action = LifeCycleManager::SNAPSHOT_CREATE_FAILURE;
|
||||
break;
|
||||
|
||||
case VirtualMachine::DISK_SNAPSHOT_POWEROFF:
|
||||
//TODO trigger lcm action
|
||||
break;
|
||||
}
|
||||
|
||||
if (lcm_action != LifeCycleManager::FINALIZE)
|
||||
@ -1420,6 +1445,7 @@ void LifeCycleManager::retry(VirtualMachine * vm)
|
||||
case VirtualMachine::HOTPLUG_SAVEAS_SUSPENDED:
|
||||
case VirtualMachine::HOTPLUG_PROLOG_POWEROFF:
|
||||
case VirtualMachine::HOTPLUG_EPILOG_POWEROFF:
|
||||
case VirtualMachine::DISK_SNAPSHOT_POWEROFF:
|
||||
case VirtualMachine::RUNNING:
|
||||
case VirtualMachine::UNKNOWN:
|
||||
break;
|
||||
|
@ -127,7 +127,8 @@ public class VirtualMachine extends PoolElement{
|
||||
"BOOT_UNDEPLOY_FAILURE",
|
||||
"BOOT_STOPPED_FAILURE",
|
||||
"PROLOG_RESUME_FAILURE",
|
||||
"PROLOG_UNDEPLOY_FAILURE"
|
||||
"PROLOG_UNDEPLOY_FAILURE",
|
||||
"DISK_SNAPSHOT_POWEROFF"
|
||||
};
|
||||
|
||||
private static final String[] SHORT_LCM_STATES =
|
||||
@ -182,7 +183,8 @@ public class VirtualMachine extends PoolElement{
|
||||
"fail", // BOOT_UNDEPLOY_FAILURE
|
||||
"fail", // BOOT_STOPPED_FAILURE
|
||||
"fail", // PROLOG_RESUME_FAILURE
|
||||
"fail" // PROLOG_UNDEPLOY_FAILURE
|
||||
"fail", // PROLOG_UNDEPLOY_FAILURE
|
||||
"snap" // DISK_SNAPSHOT_POWEROFF
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -104,6 +104,7 @@ module OpenNebula
|
||||
BOOT_STOPPED_FAILURE
|
||||
PROLOG_RESUME_FAILURE
|
||||
PROLOG_UNDEPLOY_FAILURE
|
||||
DISK_SNAPSHOT_POWEROFF
|
||||
}
|
||||
|
||||
SHORT_VM_STATES={
|
||||
@ -169,7 +170,8 @@ module OpenNebula
|
||||
"BOOT_UNDEPLOY_FAILURE" => "fail",
|
||||
"BOOT_STOPPED_FAILURE" => "fail",
|
||||
"PROLOG_RESUME_FAILURE" => "fail",
|
||||
"PROLOG_UNDEPLOY_FAILURE" => "fail"
|
||||
"PROLOG_UNDEPLOY_FAILURE" => "fail",
|
||||
"DISK_SNAPSHOT_POWEROFF" => "snap"
|
||||
}
|
||||
|
||||
MIGRATE_REASON=%w{NONE ERROR USER}
|
||||
|
@ -83,6 +83,7 @@ VNC_STATES = [
|
||||
#48, #BOOT_STOPPED_FAILURE
|
||||
#49, #PROLOG_RESUME_FAILURE
|
||||
#50, #PROLOG_UNDEPLOY_FAILURE
|
||||
#51, #DISK_SNAPSHOT_POWEROFF
|
||||
]
|
||||
|
||||
class OpenNebulaVNC
|
||||
|
Loading…
x
Reference in New Issue
Block a user