Skip to content

Commit 91bd6f2

Browse files
committed
vfkit: More robust Kill()
We know that setting the state to `HardStop` typically fails: I0309 19:19:42.378591 21795 out.go:177] 🔥 Deleting "minikube" in vfkit ... W0309 19:19:42.397472 21795 delete.go:106] remove failed, will retry: kill: Post "http://_/vm/state": EOF This may lead to unnecessary retries and delays. Fix by falling back to sending a SIGKILL signal. Example delete flow when setting vfkit state fails: I0309 20:07:41.688259 25540 out.go:177] 🔥 Deleting "minikube" in vfkit ... I0309 20:07:41.712017 25540 main.go:141] libmachine: Failed to set vfkit state to 'HardStop': Post "http://_/vm/state": EOF I0309 20:07:41.712082 25540 main.go:141] libmachine: Sending signal "killed" to pid 25482
1 parent 272796f commit 91bd6f2

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pkg/drivers/vfkit/vfkit.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,9 @@ func (d *Driver) extractKernel(isoPath string) error {
394394

395395
func (d *Driver) Kill() error {
396396
if err := d.SetVFKitState("HardStop"); err != nil {
397-
return err
397+
// Typically fails with EOF.
398+
log.Debugf("Failed to set vfkit state to 'HardStop': %s", err)
399+
return signalPidfile(d.pidfilePath(), syscall.SIGKILL)
398400
}
399401
return nil
400402
}

0 commit comments

Comments
 (0)