@@ -104,25 +104,24 @@ func (h *Host) runActionForState(action func() error, desiredState state.State)
104104 return mcnutils .WaitFor (drivers .MachineInState (h .Driver , desiredState ))
105105}
106106
107- func (h * Host ) Start () error {
108- log .Infof ("Starting %q..." , h .Name )
109- if err := h .runActionForState (h .Driver .Start , state .Running ); err != nil {
110- return err
111- }
112-
113- log .Infof ("Machine %q was started." , h .Name )
114-
107+ func (h * Host ) WaitForDocker () error {
115108 provisioner , err := provision .DetectProvisioner (h .Driver )
116109 if err != nil {
117110 return err
118111 }
119112
120- // TODO: Migrate away from using hardcoded daemon port.
121- if err := provision .WaitForDocker (provisioner , engine .DefaultPort ); err != nil {
113+ return provision .WaitForDocker (provisioner , engine .DefaultPort )
114+ }
115+
116+ func (h * Host ) Start () error {
117+ log .Infof ("Starting %q..." , h .Name )
118+ if err := h .runActionForState (h .Driver .Start , state .Running ); err != nil {
122119 return err
123120 }
124121
125- return nil
122+ log .Infof ("Machine %q was started." , h .Name )
123+
124+ return h .WaitForDocker ()
126125}
127126
128127func (h * Host ) Stop () error {
@@ -148,17 +147,19 @@ func (h *Host) Kill() error {
148147func (h * Host ) Restart () error {
149148 log .Infof ("Restarting %q..." , h .Name )
150149 if drivers .MachineInState (h .Driver , state .Stopped )() {
151- return h .Start ()
152- }
153-
154- if drivers .MachineInState (h .Driver , state .Running )() {
150+ if err := h .Start (); err != nil {
151+ return err
152+ }
153+ } else if drivers .MachineInState (h .Driver , state .Running )() {
155154 if err := h .Driver .Restart (); err != nil {
156155 return err
157156 }
158- return mcnutils .WaitFor (drivers .MachineInState (h .Driver , state .Running ))
157+ if err := mcnutils .WaitFor (drivers .MachineInState (h .Driver , state .Running )); err != nil {
158+ return err
159+ }
159160 }
160161
161- return nil
162+ return h . WaitForDocker ()
162163}
163164
164165func (h * Host ) Upgrade () error {
0 commit comments