summaryrefslogtreecommitdiff
path: root/libpod/runtime_ctr.go
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2021-08-20 10:49:33 +0200
committerPaul Holzinger <pholzing@redhat.com>2021-08-20 10:49:33 +0200
commit7f3f792e283006ef24f69cf35aca15e2e467ca4c (patch)
treeb6113a386b7dab3047f21530e1ce572d5fbeb74c /libpod/runtime_ctr.go
parent30b036c5d394bb523fa13074b1731ad4b6259693 (diff)
downloadpodman-7f3f792e283006ef24f69cf35aca15e2e467ca4c.tar.gz
podman-7f3f792e283006ef24f69cf35aca15e2e467ca4c.tar.bz2
podman-7f3f792e283006ef24f69cf35aca15e2e467ca4c.zip
Fix network aliases with network id
When a network id is used to create a container we translate it to use the name internally for the db. The network aliases are also stored with the network name as key so we have to also translate them for the db. Also removed some outdated skips from the e2e tests. Fixes #11285 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'libpod/runtime_ctr.go')
-rw-r--r--libpod/runtime_ctr.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go
index 059f56798..02bbb6981 100644
--- a/libpod/runtime_ctr.go
+++ b/libpod/runtime_ctr.go
@@ -246,6 +246,20 @@ func (r *Runtime) setupContainer(ctx context.Context, ctr *Container) (_ *Contai
ctr.config.Networks = netNames
}
+ // https://github.com/containers/podman/issues/11285
+ // normalize the networks aliases to use network names and never ids
+ if len(ctr.config.NetworkAliases) > 0 {
+ netAliases := make(map[string][]string, len(ctr.config.NetworkAliases))
+ for nameOrID, aliases := range ctr.config.NetworkAliases {
+ netName, err := network.NormalizeName(r.config, nameOrID)
+ if err != nil {
+ return nil, err
+ }
+ netAliases[netName] = aliases
+ }
+ ctr.config.NetworkAliases = netAliases
+ }
+
// Inhibit shutdown until creation succeeds
shutdown.Inhibit()
defer shutdown.Uninhibit()