diff --git a/proxmox/resource_vm_qemu.go b/proxmox/resource_vm_qemu.go index 477641c..0b8ba39 100644 --- a/proxmox/resource_vm_qemu.go +++ b/proxmox/resource_vm_qemu.go @@ -40,7 +40,6 @@ func resourceVmQemu() *schema.Resource { "target_node": { Type: schema.TypeString, Required: true, - ForceNew: true, }, "onboot": { Type: schema.TypeBool, @@ -614,6 +613,18 @@ func resourceVmQemuUpdate(d *schema.ResourceData, meta interface{}) error { serials := d.Get("serial").(*schema.Set) qemuSerials := DevicesSetToMap(serials) + d.Partial(true) + if d.HasChange("target_node") { + _, err := client.MigrateNode(vmr, d.Get("target_node").(string), true) + if err != nil { + pmParallelEnd(pconf) + return err + } + d.SetPartial("target_node") + vmr.SetNode(d.Get("target_node").(string)) + } + d.Partial(false) + config := pxapi.ConfigQemu{ Name: d.Get("name").(string), Description: d.Get("desc").(string),