mirror of https://github.com/docker/docs.git
FIX #2941 Wait for Docker after a restart
Signed-off-by: David Gageot <david@gageot.net>
This commit is contained in:
parent
62db9eb370
commit
1bc6cdd357
|
@ -104,6 +104,15 @@ func (h *Host) runActionForState(action func() error, desiredState state.State)
|
|||
return mcnutils.WaitFor(drivers.MachineInState(h.Driver, desiredState))
|
||||
}
|
||||
|
||||
func (h *Host) WaitForDocker() error {
|
||||
provisioner, err := provision.DetectProvisioner(h.Driver)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return provision.WaitForDocker(provisioner, engine.DefaultPort)
|
||||
}
|
||||
|
||||
func (h *Host) Start() error {
|
||||
log.Infof("Starting %q...", h.Name)
|
||||
if err := h.runActionForState(h.Driver.Start, state.Running); err != nil {
|
||||
|
@ -112,17 +121,7 @@ func (h *Host) Start() error {
|
|||
|
||||
log.Infof("Machine %q was started.", h.Name)
|
||||
|
||||
provisioner, err := provision.DetectProvisioner(h.Driver)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO: Migrate away from using hardcoded daemon port.
|
||||
if err := provision.WaitForDocker(provisioner, engine.DefaultPort); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
return h.WaitForDocker()
|
||||
}
|
||||
|
||||
func (h *Host) Stop() error {
|
||||
|
@ -148,17 +147,19 @@ func (h *Host) Kill() error {
|
|||
func (h *Host) Restart() error {
|
||||
log.Infof("Restarting %q...", h.Name)
|
||||
if drivers.MachineInState(h.Driver, state.Stopped)() {
|
||||
return h.Start()
|
||||
}
|
||||
|
||||
if drivers.MachineInState(h.Driver, state.Running)() {
|
||||
if err := h.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
} else if drivers.MachineInState(h.Driver, state.Running)() {
|
||||
if err := h.Driver.Restart(); err != nil {
|
||||
return err
|
||||
}
|
||||
return mcnutils.WaitFor(drivers.MachineInState(h.Driver, state.Running))
|
||||
if err := mcnutils.WaitFor(drivers.MachineInState(h.Driver, state.Running)); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return h.WaitForDocker()
|
||||
}
|
||||
|
||||
func (h *Host) Upgrade() error {
|
||||
|
|
Loading…
Reference in New Issue