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 eb857c72a8..8fed8d0d87 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -1054,7 +1054,8 @@ end else if snapshots? error = 'Disk metadata not present and snapshots exist. ' \ - 'OpenNebula cannot manage this VM.' + 'Please remove imported VM with "onevm recover ' \ + '--delete-db".' raise error end diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/vmm_importer.rb b/src/vmm_mad/remotes/lib/vcenter_driver/vmm_importer.rb index 6433fa9abd..6660ded825 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/vmm_importer.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/vmm_importer.rb @@ -54,6 +54,14 @@ module VCenterDriver vc_vm = VCenterDriver::VirtualMachine.new_without_id(@vi_client, vm_ref) + + # Importing Wild VMs with snapshots is not supported + # https://github.com/OpenNebula/one/issues/1268 + if vc_vm.snapshots? && vc_vm.disk_keys.empty? + raise 'Disk metadata not present and snapshots exist, '\ + 'cannot import this VM' + end + vname = vc_vm['name'] type = { :object => 'VM', :id => vname }