summaryrefslogtreecommitdiff
path: root/pkg/domain
diff options
context:
space:
mode:
authorJakub Guzik <jakubmguzik@gmail.com>2021-03-05 11:39:03 +0100
committerJakub Guzik <jakubmguzik@gmail.com>2021-03-05 13:16:37 +0100
commit2bcc95257fcbb6d9d20c24c8bcb9de86f0362b15 (patch)
treea7372618353d54c72189728f371ccf1cbe5f1533 /pkg/domain
parent87e20560ac885c541784af1341098ce8e1e7a940 (diff)
downloadpodman-2bcc95257fcbb6d9d20c24c8bcb9de86f0362b15.tar.gz
podman-2bcc95257fcbb6d9d20c24c8bcb9de86f0362b15.tar.bz2
podman-2bcc95257fcbb6d9d20c24c8bcb9de86f0362b15.zip
Fix for podman network rm (-f) workflow
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
Diffstat (limited to 'pkg/domain')
-rw-r--r--pkg/domain/infra/abi/network.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkg/domain/infra/abi/network.go b/pkg/domain/infra/abi/network.go
index 50a74032c..edde8ece6 100644
--- a/pkg/domain/infra/abi/network.go
+++ b/pkg/domain/infra/abi/network.go
@@ -96,7 +96,15 @@ func (ic *ContainerEngine) NetworkRm(ctx context.Context, namesOrIds []string, o
}
// We need to iterate containers looking to see if they belong to the given network
for _, c := range containers {
- if util.StringInSlice(name, c.Config().Networks) {
+ networks, _, err := c.Networks()
+ // if container vanished or network does not exist, go to next container
+ if errors.Is(err, define.ErrNoSuchNetwork) || errors.Is(err, define.ErrNoSuchCtr) {
+ continue
+ }
+ if err != nil {
+ return reports, err
+ }
+ if util.StringInSlice(name, networks) {
// if user passes force, we nuke containers and pods
if !options.Force {
// Without the force option, we return an error