From 7df7f4ff7361082c86559201dc5cc02d31caa64e Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Mon, 17 Oct 2016 10:31:53 +0200 Subject: [PATCH] Send shutdown command to VMs on poweroff (cherry picked from commit ac2a920831c0964f5a18422732b50387b4c4f8ad) --- src/vmm_mad/remotes/vcenter/vcenter_driver.rb | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb index e78b193578..d21d3d9a7e 100644 --- a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb +++ b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb @@ -1617,10 +1617,20 @@ class VCenterVm case lcm_state when "SHUTDOWN" begin - vm.ShutdownGuest.wait_for_completion + vm.ShutdownGuest + counter = 60*10 # 10 minutes + while counter > 0 + break if vm.runtime.powerState == "poweredOff" + counter -= 1 + sleep 1 + end rescue end - vm.PowerOffVM_Task.wait_for_completion + + if vm.runtime.powerState != "poweredOff" + vm.PowerOffVM_Task.wait_for_completion + end + if keep_disks detach_all_disks(vm) else @@ -1656,10 +1666,19 @@ class VCenterVm when "SHUTDOWN_POWEROFF", "SHUTDOWN_UNDEPLOY" begin - vm.ShutdownGuest.wait_for_completion + vm.ShutdownGuest + counter = 60*10 # 10 minutes + while counter > 0 + break if vm.runtime.powerState == "poweredOff" + counter -= 1 + sleep 1 + end rescue end - vm.PowerOffVM_Task.wait_for_completion + + if vm.runtime.powerState != "poweredOff" + vm.PowerOffVM_Task.wait_for_completion + end end end