fixes Issue #750 by allowing virtualbox driver

start command to start VMs in saved state and
resume VMs in paused state.

Signed-off-by: Ken Pepple <ken@solinea.com>

converted to switch statement per @nathanleclaire suggestion

Signed-off-by: Ken Pepple <ken@solinea.com>

small typo

Signed-off-by: Ken Pepple <ken@solinea.com>
This commit is contained in:
Ken Pepple 2015-03-07 16:29:59 +01:00
parent a26f59ddcd
commit bfd83eebbe
1 changed files with 9 additions and 1 deletions

View File

@ -344,11 +344,19 @@ func (d *Driver) Start() error {
return err return err
} }
if s == state.Stopped { switch s {
case state.Stopped, state.Saved:
if err := vbm("startvm", d.MachineName, "--type", "headless"); err != nil { if err := vbm("startvm", d.MachineName, "--type", "headless"); err != nil {
return err return err
} }
log.Infof("Waiting for VM to start...") log.Infof("Waiting for VM to start...")
case state.Paused:
if err := vbm("controlvm", d.MachineName, "resume", "--type", "headless"); err != nil {
return err
}
log.Infof("Resuming VM ...")
default:
log.Infof("VM not in restartable state")
} }
return ssh.WaitForTCP(fmt.Sprintf("localhost:%d", d.SSHPort)) return ssh.WaitForTCP(fmt.Sprintf("localhost:%d", d.SSHPort))