summaryrefslogtreecommitdiff
path: root/libpod/container_internal_linux.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-09-24 18:47:18 +0200
committerGitHub <noreply@github.com>2019-09-24 18:47:18 +0200
commitb300b981e7b101070198e8d8c9ef5c1c97f0c394 (patch)
tree60a654b26a40578d0e6bade2ec7bdf11d12457b3 /libpod/container_internal_linux.go
parent079dc576de042089b18c097670dfd216c56060e6 (diff)
parent65d5a9823e0544141b356c77f56cd49cd599e0ba (diff)
downloadpodman-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.go14
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