summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2022-03-30 12:59:49 +0200
committerPaul Holzinger <pholzing@redhat.com>2022-03-30 13:02:41 +0200
commit1f1cf7bd408b763f0297ab327f2f623695e3373f (patch)
treef194e88bd2da9e51f3b81fb52915ba525d9d5ac7
parentd0d805ba1bd19025080ea47bb07e653505fe85e2 (diff)
downloadpodman-1f1cf7bd408b763f0297ab327f2f623695e3373f.tar.gz
podman-1f1cf7bd408b763f0297ab327f2f623695e3373f.tar.bz2
podman-1f1cf7bd408b763f0297ab327f2f623695e3373f.zip
rootless netns: move process to scope only with systemd
When you run podman on a non systemd system we should not try to move the process under a new systemd scope. [NO NEW TESTS NEEDED] Ref #13703 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
-rw-r--r--libpod/networking_linux.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/libpod/networking_linux.go b/libpod/networking_linux.go
index db36ac75d..71e29f18f 100644
--- a/libpod/networking_linux.go
+++ b/libpod/networking_linux.go
@@ -498,10 +498,13 @@ func (r *Runtime) GetRootlessNetNs(new bool) (*RootlessNetNS, error) {
return nil, err
}
- // move to systemd scope to prevent systemd from killing it
- err = utils.MoveRootlessNetnsSlirpProcessToUserSlice(cmd.Process.Pid)
- if err != nil {
- logrus.Errorf("failed to move the rootless netns slirp4netns process to the systemd user.slice: %v", err)
+ if utils.RunsOnSystemd() {
+ // move to systemd scope to prevent systemd from killing it
+ err = utils.MoveRootlessNetnsSlirpProcessToUserSlice(cmd.Process.Pid)
+ if err != nil {
+ // only log this, it is not fatal but can lead to issues when running podman inside systemd units
+ logrus.Errorf("failed to move the rootless netns slirp4netns process to the systemd user.slice: %v", err)
+ }
}
// build a new resolv.conf file which uses the slirp4netns dns server address