1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-20 10:50:08 +03:00

Merge branch 'feature-2135'

This commit is contained in:
Ruben S. Montero 2013-09-19 23:05:19 +02:00
commit 6b0f59b679
5 changed files with 31 additions and 13 deletions

View File

@ -318,7 +318,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
With --hard it unplugs the VM.
States: RUNNING
States: RUNNING, UNKNOWN (with --hard)
EOT
command :shutdown, shutdown_desc, [:range,:vmid_list],

View File

@ -181,7 +181,8 @@ int DispatchManager::shutdown (
NebulaLog::log("DiM",Log::DEBUG,oss);
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING )
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
LifeCycleManager * lcm = nd.get_lcm();
@ -228,7 +229,8 @@ int DispatchManager::undeploy(
NebulaLog::log("DiM",Log::DEBUG,oss);
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING )
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
LifeCycleManager * lcm = nd.get_lcm();
@ -281,7 +283,8 @@ int DispatchManager::poweroff (
NebulaLog::log("DiM",Log::DEBUG,oss);
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING )
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
LifeCycleManager * lcm = nd.get_lcm();
@ -470,7 +473,8 @@ int DispatchManager::cancel(
NebulaLog::log("DiM",Log::DEBUG,oss);
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING )
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
LifeCycleManager * lcm = nd.get_lcm();

View File

@ -321,7 +321,8 @@ void LifeCycleManager::shutdown_action(int vid)
}
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING)
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
VirtualMachineManager * vmm = nd.get_vmm();
@ -371,7 +372,8 @@ void LifeCycleManager::undeploy_action(int vid, bool hard)
}
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING)
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
VirtualMachineManager * vmm = nd.get_vmm();
@ -447,7 +449,8 @@ void LifeCycleManager::poweroff_action(int vid, bool hard)
}
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING)
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
VirtualMachineManager * vmm = nd.get_vmm();
@ -562,7 +565,8 @@ void LifeCycleManager::cancel_action(int vid)
}
if (vm->get_state() == VirtualMachine::ACTIVE &&
vm->get_lcm_state() == VirtualMachine::RUNNING)
(vm->get_lcm_state() == VirtualMachine::RUNNING ||
vm->get_lcm_state() == VirtualMachine::UNKNOWN))
{
Nebula& nd = Nebula::instance();
VirtualMachineManager * vmm = nd.get_vmm();

View File

@ -109,12 +109,16 @@ class VMwareDriver
# Cancels & undefine the VM #
# ------------------------------------------------------------------------ #
def cancel(deploy_id)
# Destroy the VM
rc, info = do_action("virsh -c #{@uri} destroy #{deploy_id}")
rc, info = do_action("virsh -c #{@uri} --readonly dominfo #{deploy_id}")
exit info if rc == false
if rc
# Destroy the VM
rc, info = do_action("virsh -c #{@uri} destroy #{deploy_id}")
OpenNebula.log_debug("Successfully canceled domain #{deploy_id}.")
exit info if rc == false
OpenNebula.log_debug("Successfully canceled domain #{deploy_id}.")
end
# Undefine the VM
undefine_domain(deploy_id)

View File

@ -25,6 +25,12 @@ function gdm {
$XM_LIST | grep "$deploy_id "
}
OUT=$(gdm)
if [ -z "$OUT" ]; then
exit 0
fi
exec_and_log "$XM_CANCEL $deploy_id" \
"Could not destroy $deploy_id"