diff options
author | Aditya Rajan <arajan@redhat.com> | 2021-09-30 15:45:32 +0530 |
---|---|---|
committer | Aditya Rajan <arajan@redhat.com> | 2021-09-30 22:38:13 +0530 |
commit | 642d6829982e299ff5e9b764a5494b9c6668ac5e (patch) | |
tree | ae8505c4bb5c9ff63a8d50e23d774c136e1b49fd /pkg/machine | |
parent | b187dfef20df5cd853b46fe7f56d7cfae4ea0bf5 (diff) | |
download | podman-642d6829982e299ff5e9b764a5494b9c6668ac5e.tar.gz podman-642d6829982e299ff5e9b764a5494b9c6668ac5e.tar.bz2 podman-642d6829982e299ff5e9b764a5494b9c6668ac5e.zip |
machine: silently cleanup dangling sockets before rm if possible
Try to cleanup dandling pid and machine socket if possible silently
before `rm`.
[NO TESTS NEEDED]
Signed-off-by: Aditya Rajan <arajan@redhat.com>
Diffstat (limited to 'pkg/machine')
-rw-r--r-- | pkg/machine/qemu/machine.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go index 09078fbfb..d64dec07b 100644 --- a/pkg/machine/qemu/machine.go +++ b/pkg/machine/qemu/machine.go @@ -460,6 +460,22 @@ func (v *MachineVM) Remove(name string, opts machine.RemoveOptions) (string, fun for _, msg := range files { confirmationMessage += msg + "\n" } + + // Get path to socket and pidFile before we do any cleanups + qemuSocketFile, pidFile, errSocketFile := v.getSocketandPid() + //silently try to delete socket and pid file + //remove socket and pid file if any: warn at low priority if things fail + if errSocketFile == nil { + // Remove the pidfile + if err := os.Remove(pidFile); err != nil && !errors.Is(err, os.ErrNotExist) { + logrus.Debugf("Error while removing pidfile: %v", err) + } + // Remove socket + if err := os.Remove(qemuSocketFile); err != nil && !errors.Is(err, os.ErrNotExist) { + logrus.Debugf("Error while removing podman-machine-socket: %v", err) + } + } + confirmationMessage += "\n" return confirmationMessage, func() error { for _, f := range files { |