Skip to content

Commit

Permalink
Merge pull request #2109 from r2d4/kvm-stop
Browse files Browse the repository at this point in the history
DOM_SHUTDOWN should return state.Running
  • Loading branch information
r2d4 authored Oct 24, 2017
2 parents ea31492 + 2c2c45d commit 15f2620
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions pkg/drivers/kvm/kvm.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,28 @@ func (d *Driver) GetState() (state.State, error) {
return state.None, errors.Wrap(err, "getting domain state")
}

// Possible States:
//
// VIR_DOMAIN_NOSTATE no state
// VIR_DOMAIN_RUNNING the domain is running
// VIR_DOMAIN_BLOCKED the domain is blocked on resource
// VIR_DOMAIN_PAUSED the domain is paused by user
// VIR_DOMAIN_SHUTDOWN the domain is being shut down
// VIR_DOMAIN_SHUTOFF the domain is shut off
// VIR_DOMAIN_CRASHED the domain is crashed
// VIR_DOMAIN_PMSUSPENDED the domain is suspended by guest power management
// VIR_DOMAIN_LAST this enum value will increase over time as new events are added to the libvirt API. It reflects the last state supported by this version of the libvirt API.

switch libvirtState {
case libvirt.DOMAIN_RUNNING:
// DOMAIN_SHUTDOWN technically means the VM is still running, but in the
// process of being shutdown, so we return state.Running
case libvirt.DOMAIN_RUNNING, libvirt.DOMAIN_SHUTDOWN:
return state.Running, nil
case libvirt.DOMAIN_BLOCKED, libvirt.DOMAIN_CRASHED:
return state.Error, nil
case libvirt.DOMAIN_PAUSED:
return state.Paused, nil
case libvirt.DOMAIN_SHUTDOWN, libvirt.DOMAIN_SHUTOFF:
case libvirt.DOMAIN_SHUTOFF:
return state.Stopped, nil
case libvirt.DOMAIN_PMSUSPENDED:
return state.Saved, nil
Expand Down Expand Up @@ -299,7 +313,7 @@ func (d *Driver) Stop() error {
if s == state.Stopped {
return nil
}
log.Info("Waiting for machine to stop %d/%d", i, 60)
log.Infof("Waiting for machine to stop %d/%d", i, 60)
time.Sleep(1 * time.Second)
}

Expand Down

0 comments on commit 15f2620

Please sign in to comment.