From aa97300a3b15b615723ccb8d9683f229a39fa2ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristinn=20=C3=96rn=20Sigur=C3=B0sson?= Date: Thu, 3 Dec 2015 14:59:16 +0100 Subject: [PATCH] Create and attach additional disks before bootup. Additional disks weren't created and attached to cloned vms until after bootup. I also fixed some typos. --- .../resource_vsphere_virtual_machine.go | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/builtin/providers/vsphere/resource_vsphere_virtual_machine.go b/builtin/providers/vsphere/resource_vsphere_virtual_machine.go index 4fbd66b89117..5d14561d80ce 100644 --- a/builtin/providers/vsphere/resource_vsphere_virtual_machine.go +++ b/builtin/providers/vsphere/resource_vsphere_virtual_machine.go @@ -271,7 +271,7 @@ func resourceVSphereVirtualMachineCreate(d *schema.ResourceData, meta interface{ if vL, ok := d.GetOk("custom_configuration_parameters"); ok { if custom_configs, ok := vL.(map[string]interface{}); ok { custom := make(map[string]types.AnyType) - for k,v := range custom_configs { + for k, v := range custom_configs { custom[k] = v } vm.customConfigurations = custom @@ -763,7 +763,7 @@ func findDatastore(c *govmomi.Client, sps types.StoragePlacementSpec) (*object.D return datastore, nil } -// createVirtualMchine creates a new VirtualMachine. +// createVirtualMachine creates a new VirtualMachine. func (vm *virtualMachine) createVirtualMachine(c *govmomi.Client) error { dc, err := getDatacenter(c, vm.datacenter) if err != nil { @@ -831,7 +831,7 @@ func (vm *virtualMachine) createVirtualMachine(c *govmomi.Client) error { Key: key, Value: &value, } - log.Printf("[DEBUG] virtual machine Extra Config spec: %s,%s", k,v) + log.Printf("[DEBUG] virtual machine Extra Config spec: %s,%s", k, v) ov = append(ov, &o) } configSpec.ExtraConfig = ov @@ -914,7 +914,7 @@ func (vm *virtualMachine) createVirtualMachine(c *govmomi.Client) error { return nil } -// deployVirtualMchine deploys a new VirtualMachine. +// deployVirtualMachine deploys a new VirtualMachine. func (vm *virtualMachine) deployVirtualMachine(c *govmomi.Client) error { dc, err := getDatacenter(c, vm.datacenter) if err != nil { @@ -1135,6 +1135,14 @@ func (vm *virtualMachine) deployVirtualMachine(c *govmomi.Client) error { } log.Printf("[DEBUG]VM customization finished") + for i := 1; i < len(vm.hardDisks); i++ { + err = addHardDisk(newVM, vm.hardDisks[i].size, vm.hardDisks[i].iops, "eager_zeroed") + if err != nil { + return err + } + } + log.Printf("[DEBUG] virtual machine config spec: %v", configSpec) + newVM.PowerOn(context.TODO()) ip, err := newVM.WaitForIP(context.TODO()) @@ -1143,12 +1151,5 @@ func (vm *virtualMachine) deployVirtualMachine(c *govmomi.Client) error { } log.Printf("[DEBUG] ip address: %v", ip) - for i := 1; i < len(vm.hardDisks); i++ { - err = addHardDisk(newVM, vm.hardDisks[i].size, vm.hardDisks[i].iops, "eager_zeroed") - if err != nil { - return err - } - } - log.Printf("[DEBUG] virtual machine config spec: %v", configSpec) return nil }