Skip to content

Commit

Permalink
Stop machine before force removing files
Browse files Browse the repository at this point in the history
In containers#13466 the ability to force remove a machine while it's running was
added but it did not first stop the machine, all files get deleted but
the qemu VM would essentially be orphaned.

[NO NEW TESTS NEEDED]

Signed-off-by: Shane Smith <[email protected]>
  • Loading branch information
shanesmith committed Jun 2, 2022
1 parent 570c249 commit b8de285
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions pkg/machine/qemu/machine.go
Original file line number Diff line number Diff line change
Expand Up @@ -831,8 +831,14 @@ func (v *MachineVM) Remove(_ string, opts machine.RemoveOptions) (string, func()
if err != nil {
return "", nil, err
}
if state == machine.Running && !opts.Force {
return "", nil, errors.Errorf("running vm %q cannot be destroyed", v.Name)
if state == machine.Running {
if !opts.Force {
return "", nil, errors.Errorf("running vm %q cannot be destroyed", v.Name)
}
err := v.Stop(v.Name, machine.StopOptions{})
if err != nil {
return "", nil, err
}
}

// Collect all the files that need to be destroyed
Expand Down

0 comments on commit b8de285

Please sign in to comment.