aboutsummaryrefslogtreecommitdiff
path: root/libpod/reset.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-02-03 08:43:16 -0500
committerGitHub <noreply@github.com>2022-02-03 08:43:16 -0500
commitababa93ec5b79e4c1ff6507cd3ed7fbdcefc0e1a (patch)
tree69bc9576f3ca2d8f41a8b61c9bf23b0c725fa9fd /libpod/reset.go
parentf2263fade4aef30fd619b648e4d1ca4aaf6bd506 (diff)
parent55c4a1468b8738a5711d213cfe7c172b463ecd24 (diff)
downloadpodman-ababa93ec5b79e4c1ff6507cd3ed7fbdcefc0e1a.tar.gz
podman-ababa93ec5b79e4c1ff6507cd3ed7fbdcefc0e1a.tar.bz2
podman-ababa93ec5b79e4c1ff6507cd3ed7fbdcefc0e1a.zip
Merge pull request #13116 from Luap99/reset-networks
system prune: remove all networks
Diffstat (limited to 'libpod/reset.go')
-rw-r--r--libpod/reset.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/libpod/reset.go b/libpod/reset.go
index 2b2b586bc..28d0ee3f6 100644
--- a/libpod/reset.go
+++ b/libpod/reset.go
@@ -7,6 +7,7 @@ import (
"path/filepath"
"github.com/containers/common/libimage"
+ "github.com/containers/common/libnetwork/types"
"github.com/containers/podman/v4/libpod/define"
"github.com/containers/podman/v4/pkg/errorhandling"
"github.com/containers/podman/v4/pkg/rootless"
@@ -70,6 +71,22 @@ func (r *Runtime) Reset(ctx context.Context) error {
}
}
+ // remove all networks
+ nets, err := r.network.NetworkList()
+ if err != nil {
+ return err
+ }
+ for _, net := range nets {
+ // do not delete the default network
+ if net.Name == r.network.DefaultNetworkName() {
+ continue
+ }
+ // ignore not exists errors because of the TOCTOU problem
+ if err := r.network.NetworkRemove(net.Name); err != nil && !errors.Is(err, types.ErrNoSuchNetwork) {
+ logrus.Errorf("Removing network %s: %v", net.Name, err)
+ }
+ }
+
xdgRuntimeDir := filepath.Clean(os.Getenv("XDG_RUNTIME_DIR"))
_, prevError := r.store.Shutdown(true)
graphRoot := filepath.Clean(r.store.GraphRoot())