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 8ea1b007c9..9906e5a694 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/virtual_machine.rb @@ -3120,10 +3120,14 @@ module VCenterDriver if datastore relocate_spec_params = { - :pool => resourcepool, + :folder => @item.parent, :datastore => datastore } + unless config[:same_host] + relocate_spec_params[:pool] = resourcepool + end + if config[:esx_migration_list].is_a?(String) if config[:esx_migration_list]=='' relocate_spec_params[:host] = @@ -3146,9 +3150,16 @@ module VCenterDriver :priority => 'defaultPriority' ).wait_for_completion else - @item.MigrateVM_Task( - :pool=> resourcepool, + migrate_spec_params = { :priority => 'defaultPriority' + } + + unless config[:same_host] + migrate_spec_params[:pool] = resourcepool + end + + @item.MigrateVM_Task( + migrate_spec_params ).wait_for_completion end rescue StandardError => e @@ -3345,6 +3356,8 @@ module VCenterDriver config = { :cluster => vc_host } + config[:same_host] = src_id == dst_id + config[:datastore] = datastore if datastore if hot_ds config[:esx_migration_list] =