Skip to content

Commit 4f6ad36

Browse files
fix kvm containerd
1 parent 5bb96d0 commit 4f6ad36

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

pkg/minikube/cruntime/docker.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ func (r *Docker) Enable(disOthers bool, cgroupDriver string, inUserNamespace boo
167167
return err
168168
}
169169

170+
_ = r.Init.ResetFailed("docker")
170171
if err := r.Init.Restart("docker"); err != nil {
171172
return err
172173
}
@@ -197,11 +198,12 @@ func (r *Docker) Enable(disOthers bool, cgroupDriver string, inUserNamespace boo
197198
return err
198199
}
199200

201+
_ = r.Init.ResetFailed(service)
200202
_ = r.Init.Restart(service)
201203
// try to restart service if stopped, restart until it works
202204
for !r.Init.Active(service) {
203-
fmt.Println("stuck")
204205
time.Sleep(5 * time.Second)
206+
_ = r.Init.ResetFailed(service)
205207
_ = r.Init.Restart(service)
206208
time.Sleep(5 * time.Second)
207209

@@ -213,6 +215,7 @@ func (r *Docker) Enable(disOthers bool, cgroupDriver string, inUserNamespace boo
213215

214216
// Restart restarts Docker on a host
215217
func (r *Docker) Restart() error {
218+
_ = r.Init.ResetFailed("docker")
216219
return r.Init.Restart("docker")
217220
}
218221

pkg/minikube/sysinit/openrc.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,10 @@ func (s *OpenRC) Disable(_ string) error {
120120
return nil
121121
}
122122

123+
func (s *OpenRC) ResetFailed(_ string) error {
124+
return nil
125+
}
126+
123127
// DisableNow does Disable + Stop
124128
func (s *OpenRC) DisableNow(svc string) error {
125129
// supposed to do disable + stop

pkg/minikube/sysinit/sysinit.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ type Manager interface {
6565
// Reload restarts a service
6666
Reload(string) error
6767

68+
// ResetFailed reset the fail counter of a service
69+
ResetFailed(string) error
70+
6871
// Stop stops a service
6972
Stop(string) error
7073

pkg/minikube/sysinit/systemd.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,16 @@ func (s *Systemd) Restart(svc string) error {
110110
if err := s.daemonReload(); err != nil {
111111
return err
112112
}
113-
// some services declare a realitive small restart-limit in their .service configuration
114-
// so we reset reset-failed counter to override the limit
115-
// and always force restart the service
113+
114+
_, err := s.r.RunCmd(exec.Command("sudo", "systemctl", "restart", svc))
115+
return s.appendJournalctlLogsOnFailure(svc, err)
116+
}
117+
118+
// run systemctl reset-failed for a service
119+
// some services declare a realitive small restart-limit in their .service configuration
120+
// so we reset reset-failed counter to override the limit
121+
func (s *Systemd) ResetFailed(svc string) error {
116122
_, err := s.r.RunCmd(exec.Command("sudo", "systemctl", "reset-failed", svc))
117-
if err != nil {
118-
return err
119-
}
120-
_, err = s.r.RunCmd(exec.Command("sudo", "systemctl", "restart", svc))
121123
return s.appendJournalctlLogsOnFailure(svc, err)
122124
}
123125

0 commit comments

Comments
 (0)