diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-02-08 09:50:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-08 09:50:50 -0500 |
commit | c32913d0a34def9fd3775ccf7dcef631942ee2b9 (patch) | |
tree | 8c624518b9b9b5e97bbc2a3fedba901660684a86 /pkg/domain/infra | |
parent | 2aaf631586e82192e6b7b992e6b5c8717eb792d7 (diff) | |
parent | 91ea3fabd625a891487cd0d9b130ac71366ecb74 (diff) | |
download | podman-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')
-rw-r--r-- | pkg/domain/infra/abi/network.go | 25 | ||||
-rw-r--r-- | pkg/domain/infra/tunnel/network.go | 5 |
2 files changed, 30 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) +} diff --git a/pkg/domain/infra/tunnel/network.go b/pkg/domain/infra/tunnel/network.go index bdb1beb03..990bfa880 100644 --- a/pkg/domain/infra/tunnel/network.go +++ b/pkg/domain/infra/tunnel/network.go @@ -89,3 +89,8 @@ 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) { + return network.Prune(ic.ClientCtx, nil) +} |