From 27c278b59525597360c63a01b570914f3bb9a85c Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Tue, 26 Jul 2016 19:31:07 +0200 Subject: [PATCH] Add fallback for VM Template search in vCenter (cherry picked from commit 40c3483f121f6fa72e40d3e4db798060aa1fda99) --- src/vmm_mad/remotes/vcenter/vcenter_driver.rb | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb index d12fea4565..87daa9333c 100644 --- a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb +++ b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb @@ -310,18 +310,22 @@ class VIClient def find_vm_template(uuid) version = @vim.serviceContent.about.version - if version.split(".").first.to_i >= 6 - @dc.vmFolder.findByUuid(uuid, RbVmomi::VIM::VirtualMachine, @dc) - else - vms = VIClient.get_entities(@dc.vmFolder, 'VirtualMachine') + found_vm = nil - return vms.find do |v| - begin - v.config && v.config.uuid == uuid - rescue RbVmomi::VIM::ManagedObjectNotFound - false - end - end + if version.split(".").first.to_i >= 6 + found_vm = @dc.vmFolder.findByUuid(uuid, RbVmomi::VIM::VirtualMachine, @dc) + end + + return found_vm if found_vm + + vms = VIClient.get_entities(@dc.vmFolder, 'VirtualMachine') + + return vms.find do |v| + begin + v.config && v.config.uuid == uuid + rescue RbVmomi::VIM::ManagedObjectNotFound + false + end end end