diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go index 9214935cbf..13089c5aef 100644 --- a/pkg/systemd/quadlet/quadlet.go +++ b/pkg/systemd/quadlet/quadlet.go @@ -1588,8 +1588,10 @@ func ConvertPod(podUnit *parser.UnitFile, name string, unitsInfoMap map[string]* service.AddCmdline(ServiceGroup, "ExecStartPre", execStartPre.Args) + // Set PODMAN_SYSTEMD_UNIT so that podman auto-update can restart the service. + service.Add(ServiceGroup, "Environment", "PODMAN_SYSTEMD_UNIT=%n") + service.Setv(ServiceGroup, - "Environment", "PODMAN_SYSTEMD_UNIT=%n", "Type", "forking", "Restart", "on-failure", "PIDFile", "%t/%N.pid", diff --git a/test/e2e/quadlet/service-environment.pod b/test/e2e/quadlet/service-environment.pod new file mode 100644 index 0000000000..82d707d672 --- /dev/null +++ b/test/e2e/quadlet/service-environment.pod @@ -0,0 +1,7 @@ +## assert-key-is Service Environment key1=value1 key2=value2 PODMAN_SYSTEMD_UNIT=%n + +[Service] +Environment=key1=value1 +Environment=key2=value2 + +[Pod] diff --git a/test/e2e/quadlet_test.go b/test/e2e/quadlet_test.go index 982c9cd3ae..5a479f18e0 100644 --- a/test/e2e/quadlet_test.go +++ b/test/e2e/quadlet_test.go @@ -1089,6 +1089,7 @@ BOGUS=foo Entry("Pod - Remap keep-id", "remap-keep-id.pod"), Entry("Pod - Remap manual", "remap-manual.pod"), Entry("Pod - Shm Size", "shmsize.pod"), + Entry("Pod - Service Environment", "service-environment.pod"), ) DescribeTable("Running expected warning quadlet test case",