From f7f7b5c2fa308921a545ca6efde910c6f6abb8e1 Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Thu, 24 Oct 2013 11:48:10 +0200 Subject: [PATCH] Feature #2398: If vCenter present, undefine VMs thorugh it to aovid orphaned VMs --- src/vmm_mad/remotes/vmware/vmware_driver.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/vmm_mad/remotes/vmware/vmware_driver.rb b/src/vmm_mad/remotes/vmware/vmware_driver.rb index c8536d7315..7ed1dc74f6 100644 --- a/src/vmm_mad/remotes/vmware/vmware_driver.rb +++ b/src/vmm_mad/remotes/vmware/vmware_driver.rb @@ -353,7 +353,20 @@ class VMwareDriver # Undefines a domain in the ESX hypervisor def undefine_domain(id) - rc, info = do_action("virsh -c #{@uri} undefine #{id}") + if @vcenter and !@vcenter.empty? and @datacenter and !@datacenter.empty? + undefine_uri = + "vpx://#{@vcenter}/#{@datacenter}/#{@host}/?no_verify=1" + else + undefine_uri = @uri + end + + rc = false + + 30.times do + rc, info = do_action("virsh -c #{@undefine_uri} undefine #{id}") + break if rc + sleep 1 + end if rc == false OpenNebula.log_error("Error undefining domain #{id}")