mirror of https://github.com/docker/docs.git
Merge pull request #1133 from nathanleclaire/fix_upgrade_need_started
Add check for machine state before upgrade
This commit is contained in:
commit
6d784fb2fb
|
@ -2,6 +2,7 @@ package libmachine
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
@ -21,8 +22,9 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
validHostNameChars = `[a-zA-Z0-9\-\.]`
|
validHostNameChars = `[a-zA-Z0-9\-\.]`
|
||||||
validHostNamePattern = regexp.MustCompile(`^` + validHostNameChars + `+$`)
|
validHostNamePattern = regexp.MustCompile(`^` + validHostNameChars + `+$`)
|
||||||
|
errMachineMustBeRunningForUpgrade = errors.New("Error: machine must be running to upgrade.")
|
||||||
)
|
)
|
||||||
|
|
||||||
type Host struct {
|
type Host struct {
|
||||||
|
@ -243,6 +245,15 @@ func (h *Host) Restart() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *Host) Upgrade() error {
|
func (h *Host) Upgrade() error {
|
||||||
|
machineState, err := h.Driver.GetState()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if machineState != state.Running {
|
||||||
|
log.Fatal(errMachineMustBeRunningForUpgrade)
|
||||||
|
}
|
||||||
|
|
||||||
provisioner, err := provision.DetectProvisioner(h.Driver)
|
provisioner, err := provision.DetectProvisioner(h.Driver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -119,6 +119,11 @@ buildMachineWithOldIsoCheckUpgrade() {
|
||||||
[[ ${lines[1]} == *"Stopped"* ]]
|
[[ ${lines[1]} == *"Stopped"* ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "$DRIVER: machine should not allow upgrade when stopped" {
|
||||||
|
run machine upgrade $NAME
|
||||||
|
[[ "$status" -eq 1 ]]
|
||||||
|
}
|
||||||
|
|
||||||
@test "$DRIVER: start" {
|
@test "$DRIVER: start" {
|
||||||
run machine start $NAME
|
run machine start $NAME
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
|
Loading…
Reference in New Issue