summaryrefslogtreecommitdiff
path: root/pkg/domain/infra/abi
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-02-08 09:50:50 -0500
committerGitHub <noreply@github.com>2021-02-08 09:50:50 -0500
commitc32913d0a34def9fd3775ccf7dcef631942ee2b9 (patch)
tree8c624518b9b9b5e97bbc2a3fedba901660684a86 /pkg/domain/infra/abi
parent2aaf631586e82192e6b7b992e6b5c8717eb792d7 (diff)
parent91ea3fabd625a891487cd0d9b130ac71366ecb74 (diff)
downloadpodman-c32913d0a34def9fd3775ccf7dcef631942ee2b9.tar.gz
podman-c32913d0a34def9fd3775ccf7dcef631942ee2b9.tar.bz2
podman-c32913d0a34def9fd3775ccf7dcef631942ee2b9.zip
Merge pull request #9236 from baude/networkprune
add network prune
Diffstat (limited to 'pkg/domain/infra/abi')
-rw-r--r--pkg/domain/infra/abi/network.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkg/domain/infra/abi/network.go b/pkg/domain/infra/abi/network.go
index bc4328fcd..13fabe89d 100644
--- a/pkg/domain/infra/abi/network.go
+++ b/pkg/domain/infra/abi/network.go
@@ -155,3 +155,28 @@ func (ic *ContainerEngine) NetworkExists(ctx context.Context, networkname string
Value: exists,
}, nil
}
+
+// Network prune removes unused cni networks
+func (ic *ContainerEngine) NetworkPrune(ctx context.Context, options entities.NetworkPruneOptions) ([]*entities.NetworkPruneReport, error) {
+ runtimeConfig, err := ic.Libpod.GetConfig()
+ if err != nil {
+ return nil, err
+ }
+ cons, err := ic.Libpod.GetAllContainers()
+ if err != nil {
+ return nil, err
+ }
+ // Gather up all the non-default networks that the
+ // containers want
+ usedNetworks := make(map[string]bool)
+ for _, c := range cons {
+ nets, _, err := c.Networks()
+ if err != nil {
+ return nil, err
+ }
+ for _, n := range nets {
+ usedNetworks[n] = true
+ }
+ }
+ return network.PruneNetworks(runtimeConfig, usedNetworks)
+}