diff --git a/proxmox/resource_vm_qemu.go b/proxmox/resource_vm_qemu.go index ed3110b..9675894 100644 --- a/proxmox/resource_vm_qemu.go +++ b/proxmox/resource_vm_qemu.go @@ -339,6 +339,11 @@ func resourceVmQemu() *schema.Resource { Optional: true, Default: false, }, + "clone_wait": { + Type: schema.TypeInt, + Optional: true, + Default: 15, + }, "ci_wait": { // how long to wait before provision Type: schema.TypeInt, Optional: true, @@ -491,7 +496,7 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error { } // give sometime to proxmox to catchup - time.Sleep(5 * time.Second) + time.Sleep(time.Duration(d.Get("clone_wait").(int)) * time.Second) err = prepareDiskSize(client, vmr, qemuDisks) if err != nil { @@ -532,7 +537,7 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error { d.SetId(resourceId(targetNode, "qemu", vmr.VmId())) // give sometime to proxmox to catchup - time.Sleep(5 * time.Second) + time.Sleep(15 * time.Second) log.Print("[DEBUG] starting VM") _, err := client.StartVm(vmr) @@ -622,7 +627,7 @@ func resourceVmQemuUpdate(d *schema.ResourceData, meta interface{}) error { prepareDiskSize(client, vmr, qemuDisks) // give sometime to proxmox to catchup - time.Sleep(5 * time.Second) + time.Sleep(15 * time.Second) // Start VM only if it wasn't running. vmState, err := client.GetVmState(vmr)