diff options
author | Matthew Heon <mheon@redhat.com> | 2019-03-28 17:39:56 -0400 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2019-03-28 17:39:56 -0400 |
commit | beb263554efdb849291caf5dba4a74966564b78d (patch) | |
tree | cc701d33503fbc012cb03ef417dca916a91fac27 /pkg/spec/createconfig.go | |
parent | 9085898ce2d42bf872c137e981202820066736c7 (diff) | |
download | podman-beb263554efdb849291caf5dba4a74966564b78d.tar.gz podman-beb263554efdb849291caf5dba4a74966564b78d.tar.bz2 podman-beb263554efdb849291caf5dba4a74966564b78d.zip |
Ensure that we make a netns for CNI non-default nets
We accidentally patched this out trying to enable ns:/path/to/ns
This should restore the ability to configure nondefault CNI
networks with Podman, by ensuring that they request creation of a
network namespace.
Completely remove the WithNetNS() call when we do use an explicit
namespace from a path. We use that call to indicate that a netns
is going to be created - there should not be any question about
whether it actually does.
Fixes #2795
Signed-off-by: Matthew Heon <mheon@redhat.com>
Diffstat (limited to 'pkg/spec/createconfig.go')
-rw-r--r-- | pkg/spec/createconfig.go | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index 07ae633d1..0a12e3dca 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -451,16 +451,15 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime, pod *l } } - if IsNS(string(c.NetMode)) { - split := strings.SplitN(string(c.NetMode), ":", 2) - if len(split[0]) != 2 { - return nil, errors.Errorf("invalid user defined network namespace %q", c.NetMode.UserDefined()) + if c.NetMode.IsNS() { + ns := c.NetMode.NS() + if ns == "" { + return nil, errors.Errorf("invalid empty user-defined network namespace") } - _, err := os.Stat(split[1]) + _, err := os.Stat(ns) if err != nil { return nil, err } - options = append(options, libpod.WithNetNS(portBindings, false, string(c.NetMode), networks)) } else if c.NetMode.IsContainer() { connectedCtr, err := c.Runtime.LookupContainer(c.NetMode.Container()) if err != nil { |