diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-09-24 18:47:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-24 18:47:18 +0200 |
commit | b300b981e7b101070198e8d8c9ef5c1c97f0c394 (patch) | |
tree | 60a654b26a40578d0e6bade2ec7bdf11d12457b3 /libpod/container_internal_linux.go | |
parent | 079dc576de042089b18c097670dfd216c56060e6 (diff) | |
parent | 65d5a9823e0544141b356c77f56cd49cd599e0ba (diff) | |
download | podman-b300b981e7b101070198e8d8c9ef5c1c97f0c394.tar.gz podman-b300b981e7b101070198e8d8c9ef5c1c97f0c394.tar.bz2 podman-b300b981e7b101070198e8d8c9ef5c1c97f0c394.zip |
Merge pull request #3756 from gabibeyer/rootlessOrdering
rootless: Rearrange setup of rootless containers
Diffstat (limited to 'libpod/container_internal_linux.go')
-rw-r--r-- | libpod/container_internal_linux.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go index 230b5b888..e7b4b2b22 100644 --- a/libpod/container_internal_linux.go +++ b/libpod/container_internal_linux.go @@ -78,15 +78,21 @@ func (c *Container) prepare() (Err error) { // Set up network namespace if not already set up if c.config.CreateNetNS && c.state.NetNS == nil && !c.config.PostConfigureNetNS { netNS, networkStatus, createNetNSErr = c.runtime.createNetNS(c) + if createNetNSErr != nil { + return + } tmpStateLock.Lock() defer tmpStateLock.Unlock() // Assign NetNS attributes to container - if createNetNSErr == nil { - c.state.NetNS = netNS - c.state.NetworkStatus = networkStatus - } + c.state.NetNS = netNS + c.state.NetworkStatus = networkStatus + } + + // handle rootless network namespace setup + if c.state.NetNS != nil && c.config.NetMode == "slirp4netns" && !c.config.PostConfigureNetNS { + createNetNSErr = c.runtime.setupRootlessNetNS(c) } }() // Mount storage if not mounted |