diff --git a/src/vmm_mad/remotes/vmware/reset b/src/vmm_mad/remotes/vmware/reset index dffa555600..5f4bf57a78 100755 --- a/src/vmm_mad/remotes/vmware/reset +++ b/src/vmm_mad/remotes/vmware/reset @@ -27,11 +27,17 @@ end $: << RUBY_LIB_LOCATION $: << File.dirname(__FILE__) -require 'vmware_driver' +require 'vi_driver' deploy_id = ARGV[0] host = ARGV[1] -vmware_drv = VMwareDriver.new(host) - -vmware_drv.reset(deploy_id) +begin + VIDriver::initialize(host, false) + vivm = VIDriver::VIVm.new(deploy_id, nil) + vivm.reset +rescue Exception => e + STDERR.puts "Reset of VM #{deploy_id} on host #{host} failed " + + "due to \"#{e.message}\"" + exit -1 +end diff --git a/src/vmm_mad/remotes/vmware/vi_driver.rb b/src/vmm_mad/remotes/vmware/vi_driver.rb index 381919f47d..8b2fd7626c 100644 --- a/src/vmm_mad/remotes/vmware/vi_driver.rb +++ b/src/vmm_mad/remotes/vmware/vi_driver.rb @@ -233,6 +233,15 @@ class VIVm @vm.ReconfigVM_Task(:spec => spec).wait_for_completion end + ############################################################################ + # Resets a VM + # @param deploy_id vcenter identifier of the VM + # @param hostname name of the host (equals the vCenter cluster) + ############################################################################ + def reset + @vm.ResetVM_Task.wait_for_completion + end + ######################################################################## # Initialize the vm monitor information ######################################################################## diff --git a/src/vmm_mad/remotes/vmware/vmware_driver.rb b/src/vmm_mad/remotes/vmware/vmware_driver.rb index 2c7c302d36..86405a0d49 100644 --- a/src/vmm_mad/remotes/vmware/vmware_driver.rb +++ b/src/vmm_mad/remotes/vmware/vmware_driver.rb @@ -136,17 +136,6 @@ class VMwareDriver OpenNebula.log_debug("Domain #{deploy_id} successfully rebooted.") end - # ------------------------------------------------------------------------ # - # Reset a running VM # - # ------------------------------------------------------------------------ # - def reset(deploy_id) - rc, info = do_action("virsh -c #{@uri} reset #{deploy_id}") - - exit info if rc == false - - OpenNebula.log_debug("Domain #{deploy_id} successfully reseted.") - end - # ------------------------------------------------------------------------ # # Migrate # # ------------------------------------------------------------------------ #