diff options
author | Paul Holzinger <pholzing@redhat.com> | 2022-03-30 12:59:49 +0200 |
---|---|---|
committer | Paul Holzinger <pholzing@redhat.com> | 2022-03-30 13:02:41 +0200 |
commit | 1f1cf7bd408b763f0297ab327f2f623695e3373f (patch) | |
tree | f194e88bd2da9e51f3b81fb52915ba525d9d5ac7 | |
parent | d0d805ba1bd19025080ea47bb07e653505fe85e2 (diff) | |
download | podman-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.go | 11 |
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 |