From 7180480f020e24bf312b218bcd52b5b82c49dda6 Mon Sep 17 00:00:00 2001 From: Julien PILLON Date: Wed, 16 Jun 2021 21:03:14 +0200 Subject: [PATCH] vcsim: Take the host parameter into account while cloning a VM on a cluster Closes: #2495 --- simulator/virtual_machine.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/simulator/virtual_machine.go b/simulator/virtual_machine.go index af6bf9581..57fd38248 100644 --- a/simulator/virtual_machine.go +++ b/simulator/virtual_machine.go @@ -1701,8 +1701,15 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa pool = vm.ResourcePool } } + + destHost := vm.Runtime.Host + + if req.Spec.Location.Host != nil { + destHost = req.Spec.Location.Host + } + folder, _ := asFolderMO(Map.Get(req.Folder)) - host := Map.Get(*vm.Runtime.Host).(*HostSystem) + host := Map.Get(*destHost).(*HostSystem) event := vm.event() ctx.postEvent(&types.VmBeingClonedEvent{ @@ -1775,7 +1782,7 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa This: folder.Self, Config: config, Pool: *pool, - Host: vm.Runtime.Host, + Host: destHost, }) ctask := Map.Get(res.(*methods.CreateVM_TaskBody).Res.Returnval).(*Task)