From 6606f9fc58fbaffbe46ff365e3e6d4e3f3b7022d Mon Sep 17 00:00:00 2001 From: Jaime Melis Date: Mon, 17 Jul 2017 17:30:11 +0200 Subject: [PATCH] F #4913: Use the pool instead of querying opennebula --- src/vmm_mad/remotes/lib/vcenter_driver/host.rb | 14 +++++++------- .../remotes/lib/vcenter_driver/virtual_machine.rb | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/host.rb b/src/vmm_mad/remotes/lib/vcenter_driver/host.rb index 0e6fd1e1a0..8003caf7f0 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/host.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/host.rb @@ -464,21 +464,21 @@ class ClusterComputeResource number = matches[1] if matches # Extract vmid from ref and vcenter instance uuid if possible + one_vm = nil if number == -1 one_vm = VCenterDriver::VIHelper.find_by_ref(OpenNebula::VirtualMachinePool, "DEPLOY_ID", vm_ref, vc_uuid, vm_pool) - number = one_vm["ID"] if one_vm - end + if one_vm + number = one_vm["ID"] - if number != -1 - next if @monitored_vms.include? number - @monitored_vms << number + next if @monitored_vms.include? number + @monitored_vms << number - if vm.get_vm_id(vm_pool) - vm.one_item + vm.one_item = one_vm + vm.vm_id = number end end diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb index afeae53fb1..4db53301a6 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -818,7 +818,7 @@ class VirtualMachine < Template VM_SHUTDOWN_TIMEOUT = 600 #10 minutes til poweroff hard - attr_accessor :item + attr_accessor :item, :vm_id attr_accessor :vm_info @@ -920,8 +920,8 @@ class VirtualMachine < Template # @return String the vm_id stored in vCenter def get_vm_id(vm_pool = nil) - if defined?(@one_item_id) && @one_item_id - return @one_item_id + if defined?(@vm_id) && @vm_id + return @vm_id end vm_ref = self['_ref'] @@ -936,8 +936,8 @@ class VirtualMachine < Template vm_pool) return nil if !one_vm - @one_item_id = one_vm["ID"] - return @one_item_id + @vm_id = one_vm["ID"] + return @vm_id end def get_vcenter_instance_uuid