diff --git a/src/vmm_mad/remotes/vcenter/shutdown b/src/vmm_mad/remotes/vcenter/shutdown index cbabaeb20e..245c0b940f 100755 --- a/src/vmm_mad/remotes/vcenter/shutdown +++ b/src/vmm_mad/remotes/vcenter/shutdown @@ -31,6 +31,7 @@ require 'vcenter_driver' vm_ref = ARGV[0] vc_cluster_name = ARGV[1] +vm_id = ARGV[2] host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, vc_cluster_name) host_id = host['ID'] @@ -54,6 +55,13 @@ end begin vi_client = VCenterDriver::VIClient.new_from_host(host_id) + if vm_ref.empty? + one_vm = VCenterDriver::VIHelper.one_item(OpenNebula::VirtualMachine, vm_id) + vcenter_vm = VCenterDriver::VIHelper.find_vcenter_vm_by_name(one_vm, host, vi_client) + raise "Could not find the undeployed VM in vCenter's inventory using it's name" if !vcenter_vm + vm_ref = vcenter_vm._ref + end + vm = VCenterDriver::VirtualMachine.new_from_ref(vm_ref, vi_client) vm.shutdown #Undeploy, Poweroff or Terminate