use container restart policy if user specifies one

Fixes: https://github.com/containers/podman/issues/19671

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
Daniel J Walsh 2023-08-18 06:06:39 -04:00 committed by openshift-cherrypick-robot
parent f844797ed1
commit a917a6cfe0
2 changed files with 16 additions and 1 deletions

View file

@ -587,7 +587,7 @@ func createContainerOptions(rt *libpod.Runtime, s *specgen.SpecGenerator, pod *l
retries uint
)
// If the container is running in a pod, use the pod's restart policy for all the containers
if pod != nil && !s.IsInitContainer() {
if pod != nil && !s.IsInitContainer() && s.RestartPolicy == "" {
podConfig := pod.ConfigNoCopy()
if podConfig.RestartRetries != nil {
retries = *podConfig.RestartRetries

View file

@ -577,6 +577,21 @@ io.max | $lomajmin rbps=1048576 wbps=1048576 riops=max wiops=max
run_podman 1 pod exists $podname
}
@test "podman pod create restart tests" {
podname=pod$(random_string)
run_podman pod create --restart=on-failure --name $podname
run_podman create --name test-ctr --pod $podname $IMAGE
run_podman container inspect --format '{{ .HostConfig.RestartPolicy.Name }}' test-ctr
is "$output" "on-failure" "container inherits from pod"
run_podman create --replace --restart=always --name test-ctr --pod $podname $IMAGE
run_podman container inspect --format '{{ .HostConfig.RestartPolicy.Name }}' test-ctr
is "$output" "always" "container overrides restart policy from pod"
run_podman pod rm -f -a
}
# Helper used by pod ps --filter test. Creates one pod or container
# with a UNIQUE two-character CID prefix.
function thingy_with_unique_id() {