mirror of https://github.com/containers/podman.git
systemdgen: add --ignore flag to generic services
The --ignore flag lets Podman ignore errors when a specified container does not exist (anymore). That's a nice addition to generic services generated via the --new flag. Those services create new containers and can hence allows user to manually remove a container; may it only be by accident. The important part of using the --ignore flag is that Podman will exit 0 which plays nicer with most restart policies; a non-zero exit may yield systemd to restart the entire service which is arguably wrong if the user manually deletes the container. If desired, users can still alter the generated files. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
parent
db00ee97e9
commit
9d3667c2f0
|
|
@ -96,8 +96,8 @@ Restart={{.RestartPolicy}}
|
|||
{{- if .New}}
|
||||
ExecStartPre=/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
|
||||
ExecStart={{.RunCommand}}
|
||||
ExecStop={{.Executable}} stop --cidfile /%t/%n-cid {{if (ge .StopTimeout 0)}}-t {{.StopTimeout}}{{end}}
|
||||
ExecStopPost={{.Executable}} rm -f --cidfile /%t/%n-cid
|
||||
ExecStop={{.Executable}} stop --ignore --cidfile /%t/%n-cid {{if (ge .StopTimeout 0)}}-t {{.StopTimeout}}{{end}}
|
||||
ExecStopPost={{.Executable}} rm --ignore -f --cidfile /%t/%n-cid
|
||||
PIDFile=/%t/%n-pid
|
||||
{{- else}}
|
||||
ExecStart={{.Executable}} start {{.ContainerName}}
|
||||
|
|
|
|||
|
|
@ -123,8 +123,8 @@ Documentation=man:podman-generate-systemd(1)
|
|||
Restart=always
|
||||
ExecStartPre=/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
|
||||
ExecStart=/usr/bin/podman run --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid --name jadda-jadda --hostname hello-world awesome-image:latest command arg1 ... argN
|
||||
ExecStop=/usr/bin/podman stop --cidfile /%t/%n-cid -t 42
|
||||
ExecStopPost=/usr/bin/podman rm -f --cidfile /%t/%n-cid
|
||||
ExecStop=/usr/bin/podman stop --ignore --cidfile /%t/%n-cid -t 42
|
||||
ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile /%t/%n-cid
|
||||
PIDFile=/%t/%n-pid
|
||||
KillMode=none
|
||||
Type=forking
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ var _ = Describe("Podman generate systemd", func() {
|
|||
found, _ := session.GrepString("# container-foo.service")
|
||||
Expect(found).To(BeTrue())
|
||||
|
||||
found, _ = session.GrepString("stop --cidfile /%t/%n-cid -t 42")
|
||||
found, _ = session.GrepString("stop --ignore --cidfile /%t/%n-cid -t 42")
|
||||
Expect(found).To(BeTrue())
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue