From 01578a2779f7b2f393276322d059c0d33b11364f Mon Sep 17 00:00:00 2001 From: Sachin Mahajan Date: Sun, 2 Aug 2026 22:15:45 +0530 Subject: [PATCH] quadlet: do not set RemainAfterExit=yes for volume units by default Ref #27866 Do not set RemainAfterExit=yes by default when converting Quadlet .volume files to systemd oneshot services. Setting RemainAfterExit=yes causes systemd to consider the volume service active even after the volume is deleted manually, preventing systemd from re-executing volume creation when dependent container services restart. Signed-off-by: Sachin Mahajan --- pkg/systemd/quadlet/quadlet.go | 2 +- test/e2e/quadlet/basic.volume | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go index 123c964e5a3..af6b2c0f8cc 100644 --- a/pkg/systemd/quadlet/quadlet.go +++ b/pkg/systemd/quadlet/quadlet.go @@ -1220,7 +1220,7 @@ func ConvertVolume(volume *parser.UnitFile, unitsInfoMap map[string]*UnitInfo, i service.AddCmdline(ServiceGroup, "ExecStart", podman.Args) - defaultOneshotServiceGroup(service, true) + defaultOneshotServiceGroup(service, false) // Store the name of the created resource unitInfo.ResourceName = volumeName diff --git a/test/e2e/quadlet/basic.volume b/test/e2e/quadlet/basic.volume index cc2d2fffb1e..50dd3b656af 100644 --- a/test/e2e/quadlet/basic.volume +++ b/test/e2e/quadlet/basic.volume @@ -1,6 +1,6 @@ ## assert-key-is Unit RequiresMountsFor "%t/containers" ## assert-key-is Service Type oneshot -## assert-key-is Service RemainAfterExit yes +## !assert-key-is Service RemainAfterExit yes ## assert-key-is-regex Service ExecStart ".*/podman volume create --ignore systemd-basic" ## assert-key-is Service SyslogIdentifier "%N"