diff --git a/drivers/amazonec2/amazonec2.go b/drivers/amazonec2/amazonec2.go index 26734ee355..0e006fc7c1 100644 --- a/drivers/amazonec2/amazonec2.go +++ b/drivers/amazonec2/amazonec2.go @@ -614,11 +614,7 @@ func (d *Driver) Start() error { return err } - if err := d.waitForInstance(); err != nil { - return err - } - - return nil + return d.waitForInstance() } func (d *Driver) Stop() error { diff --git a/drivers/azure/azure.go b/drivers/azure/azure.go index fae0f0255d..b4b05c814a 100644 --- a/drivers/azure/azure.go +++ b/drivers/azure/azure.go @@ -288,8 +288,6 @@ func (d *Driver) Start() error { return nil } - log.Debugf("starting %s", d.MachineName) - if err := vmClient.StartRole(d.MachineName, d.MachineName, d.MachineName); err != nil { return err } diff --git a/drivers/exoscale/exoscale.go b/drivers/exoscale/exoscale.go index 297c71349f..05709982d1 100644 --- a/drivers/exoscale/exoscale.go +++ b/drivers/exoscale/exoscale.go @@ -322,24 +322,14 @@ func (d *Driver) Create() error { } func (d *Driver) Start() error { - vmstate, err := d.GetState() - if err != nil { - return err - } - if vmstate == state.Running || vmstate == state.Starting { - log.Infof("Host is already running or starting") - return nil - } - client := egoscale.NewClient(d.URL, d.APIKey, d.APISecretKey) + svmresp, err := client.StartVirtualMachine(d.ID) if err != nil { return err } - if err = d.waitForJob(client, svmresp); err != nil { - return err - } - return nil + + return d.waitForJob(client, svmresp) } func (d *Driver) Stop() error { diff --git a/drivers/google/compute_util.go b/drivers/google/compute_util.go index 729bbffb43..87a4768d0c 100644 --- a/drivers/google/compute_util.go +++ b/drivers/google/compute_util.go @@ -351,7 +351,6 @@ func (c *ComputeUtil) stopInstance() error { // startInstance starts the instance. func (c *ComputeUtil) startInstance() error { - log.Infof("Starting instance.") op, err := c.service.Instances.Start(c.project, c.zone, c.instanceName).Do() if err != nil { return err diff --git a/drivers/openstack/openstack.go b/drivers/openstack/openstack.go index a74eba18cd..0ecc3471b3 100644 --- a/drivers/openstack/openstack.go +++ b/drivers/openstack/openstack.go @@ -385,25 +385,19 @@ func (d *Driver) Create() error { } func (d *Driver) Start() error { - log.Debug("Starting OpenStack instance...", map[string]string{"MachineId": d.MachineId}) if err := d.initCompute(); err != nil { return err } - if err := d.client.StartInstance(d); err != nil { - return err - } - return nil + + return d.client.StartInstance(d) } func (d *Driver) Stop() error { if err := d.initCompute(); err != nil { return err } - if err := d.client.StopInstance(d); err != nil { - return err - } - return nil + return d.client.StopInstance(d) } func (d *Driver) Remove() error { diff --git a/drivers/softlayer/driver.go b/drivers/softlayer/driver.go index 58a0eea819..57e45311f0 100644 --- a/drivers/softlayer/driver.go +++ b/drivers/softlayer/driver.go @@ -481,12 +481,15 @@ func (d *Driver) Remove() error { return nil } + func (d *Driver) Restart() error { return d.getClient().VirtualGuest().Reboot(d.Id) } + func (d *Driver) Start() error { return d.getClient().VirtualGuest().PowerOn(d.Id) } + func (d *Driver) Stop() error { return d.getClient().VirtualGuest().PowerOff(d.Id) } diff --git a/drivers/virtualbox/virtualbox.go b/drivers/virtualbox/virtualbox.go index c311a014a2..e43c9abbcb 100644 --- a/drivers/virtualbox/virtualbox.go +++ b/drivers/virtualbox/virtualbox.go @@ -481,7 +481,6 @@ func (d *Driver) Start() error { if err := d.vbm("startvm", d.MachineName, "--type", "headless"); err != nil { return err } - log.Infof("Starting VM...") case state.Paused: if err := d.vbm("controlvm", d.MachineName, "resume", "--type", "headless"); err != nil { return err diff --git a/drivers/vmwarefusion/fusion_darwin.go b/drivers/vmwarefusion/fusion_darwin.go index 190ab4d432..99ea5e4a54 100644 --- a/drivers/vmwarefusion/fusion_darwin.go +++ b/drivers/vmwarefusion/fusion_darwin.go @@ -376,7 +376,6 @@ func (d *Driver) Create() error { } func (d *Driver) Start() error { - log.Infof("Starting %s...", d.MachineName) vmrun("start", d.vmxPath(), "nogui") // Do not execute the rest of boot2docker specific configuration, exit here diff --git a/drivers/vmwarevcloudair/vcloudair.go b/drivers/vmwarevcloudair/vcloudair.go index 5a003ac057..25c6092b01 100644 --- a/drivers/vmwarevcloudair/vcloudair.go +++ b/drivers/vmwarevcloudair/vcloudair.go @@ -454,7 +454,6 @@ func (d *Driver) Remove() error { } func (d *Driver) Start() error { - p, err := govcloudair.NewClient() if err != nil { return err @@ -542,7 +541,6 @@ func (d *Driver) Stop() error { } func (d *Driver) Restart() error { - p, err := govcloudair.NewClient() if err != nil { return err diff --git a/drivers/vmwarevsphere/vsphere.go b/drivers/vmwarevsphere/vsphere.go index ef51f47acd..4b5aa8efe2 100644 --- a/drivers/vmwarevsphere/vsphere.go +++ b/drivers/vmwarevsphere/vsphere.go @@ -565,7 +565,7 @@ func (d *Driver) Start() error { if err != nil { return err } - log.Infof("Powering on VM...") + task, err := vm.PowerOn(ctx) if err != nil { return err diff --git a/libmachine/host/host.go b/libmachine/host/host.go index 363e79fc13..8808d0e0d5 100644 --- a/libmachine/host/host.go +++ b/libmachine/host/host.go @@ -94,6 +94,7 @@ func (h *Host) runActionForState(action func() error, desiredState state.State) } func (h *Host) Start() error { + log.Infof("Starting %q...", h.Name) if err := h.runActionForState(h.Driver.Start, state.Running); err != nil { return err }