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 0a65744142..23ba3519dd 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -686,7 +686,6 @@ module VCenterDriver # @return [vCenter_disk] the proper disk def query_disk(one_disk, keys, vc_disks) index = one_disk['DISK_ID'] - cloned = one_disk["CLONE"].nil? || one_disk["CLONE"] == "YES" unmanaged = "opennebula.disk.#{index}" managed = "opennebula.mdisk.#{index}" @@ -706,8 +705,12 @@ module VCenterDriver end # Try to find the disk using the path known by OpenNebula - path = !cloned ? one_disk['SOURCE'] : disk_real_path(one_disk, index) - query = vc_disks.select {|dev| path == dev[:path_wo_ds]} + source_path = one_disk['SOURCE'] + calculated_path = disk_real_path(one_disk, index) + query = vc_disks.select { |dev| + source_path == dev[:path_wo_ds] || + calculated_path == dev[:path_wo_ds] + } end return nil if query.size != 1 diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine_monitor/vm_monitor.rb b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine_monitor/vm_monitor.rb index 0bfdddc136..b96e0cb350 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine_monitor/vm_monitor.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine_monitor/vm_monitor.rb @@ -463,6 +463,7 @@ module VirtualMachineMonitor str_info << 'VCENTER_RP_NAME="' << rp_name << '" ' << "\n" info_disks.each do |disk| + next if disk[1].no_exists? str_info << "DISK_#{disk[0]}_ACTUAL_PATH=\"[" << disk[1].ds.name << '] ' << disk[1].path << '" ' << "\n" end