diff options
author | Jakub Guzik <jakubmguzik@gmail.com> | 2021-03-05 11:39:03 +0100 |
---|---|---|
committer | Jakub Guzik <jakubmguzik@gmail.com> | 2021-03-05 13:16:37 +0100 |
commit | 2bcc95257fcbb6d9d20c24c8bcb9de86f0362b15 (patch) | |
tree | a7372618353d54c72189728f371ccf1cbe5f1533 /pkg/domain/infra | |
parent | 87e20560ac885c541784af1341098ce8e1e7a940 (diff) | |
download | podman-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/infra')
-rw-r--r-- | pkg/domain/infra/abi/network.go | 10 |
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 |