summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-10-27 15:07:59 +0000
committerGitHub <noreply@github.com>2021-10-27 15:07:59 +0000
commit6caf5e3b7c08cb3c5b62ed069e458910321b43b2 (patch)
treed6a369cb220c4c914bdf9707a04069664b4461c5
parentb29dc1bde3a9b56b813a6ab99c7fea6d7859067f (diff)
parent6b3b0a17c625bdf71b0ec8b783b288886d8e48d7 (diff)
downloadpodman-6caf5e3b7c08cb3c5b62ed069e458910321b43b2.tar.gz
podman-6caf5e3b7c08cb3c5b62ed069e458910321b43b2.tar.bz2
podman-6caf5e3b7c08cb3c5b62ed069e458910321b43b2.zip
Merge pull request #12111 from giuseppe/fix-warning-move-pause-process
runtime: check for pause pid existence
-rw-r--r--libpod/runtime.go6
-rw-r--r--test/e2e/system_reset_test.go2
-rw-r--r--utils/utils.go4
3 files changed, 9 insertions, 3 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go
index 855f3a9f9..950ac65eb 100644
--- a/libpod/runtime.go
+++ b/libpod/runtime.go
@@ -543,7 +543,11 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (retErr error) {
return err
}
if became {
- utils.MovePauseProcessToScope(pausePid)
+ // Check if the pause process was created. If it was created, then
+ // move it to its own systemd scope.
+ if _, err = os.Stat(pausePid); err == nil {
+ utils.MovePauseProcessToScope(pausePid)
+ }
os.Exit(ret)
}
}
diff --git a/test/e2e/system_reset_test.go b/test/e2e/system_reset_test.go
index 102526a46..93ab166cd 100644
--- a/test/e2e/system_reset_test.go
+++ b/test/e2e/system_reset_test.go
@@ -60,6 +60,8 @@ var _ = Describe("podman system reset", func() {
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
+ Expect(session.ErrorToString()).To(Not(ContainSubstring("Failed to add pause process")))
+
// If remote then the API service should have exited
// On local tests this is a noop
podmanTest.StartRemoteService()
diff --git a/utils/utils.go b/utils/utils.go
index b08630d2f..55af41bb3 100644
--- a/utils/utils.go
+++ b/utils/utils.go
@@ -191,8 +191,8 @@ func moveProcessToScope(pidPath, slice, scope string) error {
func MovePauseProcessToScope(pausePidPath string) {
err := moveProcessToScope(pausePidPath, "user.slice", "podman-pause.scope")
if err != nil {
- unified, err := cgroups.IsCgroup2UnifiedMode()
- if err != nil {
+ unified, err2 := cgroups.IsCgroup2UnifiedMode()
+ if err2 != nil {
logrus.Warnf("Failed to detect if running with cgroup unified: %v", err)
}
if RunsOnSystemd() && unified {