machine rm -f stops and removes machine

If you want to remove a running machine, you can now pass the --force/-f
to podman machine rm and the machine will be stopped and removed without
confirmations.

Fixes: #13448

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
This commit is contained in:
Brent Baude
2022-03-08 15:44:40 -06:00
parent f33b64d8b7
commit 5b51b42cc8
3 changed files with 9 additions and 5 deletions

View File

@ -37,7 +37,7 @@ func init() {
flags := rmCmd.Flags()
formatFlagName := "force"
flags.BoolVar(&destoryOptions.Force, formatFlagName, false, "Do not prompt before rming")
flags.BoolVarP(&destoryOptions.Force, formatFlagName, "f", false, "Stop and do not prompt before rming")
keysFlagName := "save-keys"
flags.BoolVar(&destoryOptions.SaveKeys, keysFlagName, false, "Do not delete SSH keys")
@ -64,7 +64,7 @@ func rm(cmd *cobra.Command, args []string) error {
if err != nil {
return err
}
confirmationMessage, remove, err := vm.Remove(vmName, machine.RemoveOptions{})
confirmationMessage, remove, err := vm.Remove(vmName, destoryOptions)
if err != nil {
return err
}

View File

@ -23,9 +23,9 @@ is used.
Print usage statement.
#### **--force**
#### **--force**, **-f**
Delete without confirmation
Stop and delete without confirmation
#### **--save-ignition**
@ -58,6 +58,10 @@ The following files will be deleted:
Are you sure you want to continue? [y/N] y
```
```
$ podman machine rm -f test1
$
```
## SEE ALSO
**[podman(1)](podman.1.md)**, **[podman-machine(1)](podman-machine.1.md)**

View File

@ -679,7 +679,7 @@ func (v *MachineVM) Remove(name string, opts machine.RemoveOptions) (string, fun
if err != nil {
return "", nil, err
}
if running {
if running && !opts.Force {
return "", nil, errors.Errorf("running vm %q cannot be destroyed", v.Name)
}