diff --git a/board/common/rootfs/usr/sbin/container b/board/common/rootfs/usr/sbin/container index d1e5b4c5..b2971b4d 100755 --- a/board/common/rootfs/usr/sbin/container +++ b/board/common/rootfs/usr/sbin/container @@ -187,6 +187,10 @@ create() logging="--log-driver k8s-file --log-opt path=/run/containers/$name.fifo" fi + # Pull quietly and don't retry on failure, we use execd for this, + # or user retry manually when run interactively, we may have other + # containers waiting to start that have an image locally already. + # Use --retry=0 with Podman 5.0 or later. args="$args --read-only --replace --quiet --cgroup-parent=containers $caps" args="$args --restart=$restart --systemd=false --tz=local $privileged" args="$args $vol $mount $hostname $entrypoint $env $port $logging" diff --git a/patches/podman/4.5.0/0001-disable-pull-retry.patch b/patches/podman/4.5.0/0001-disable-pull-retry.patch new file mode 100644 index 00000000..96131d36 --- /dev/null +++ b/patches/podman/4.5.0/0001-disable-pull-retry.patch @@ -0,0 +1,21 @@ +This patch disables the default "podman pull" retry value, which otherwise +blocks execd from trying other jobs in its queue. + +As of podman v5.0.0 a --retry=NUM has been added to the podman create, run, +and pull commands. However, CNI is no longer supported, and a lot of other +breaking changes have been made, e.g., output of podman inspect. So there's +a lot of work upgrading. + + -- Joachim + +--- a/vendor/github.com/containers/common/libimage/copier.go 2023-04-14 15:28:20.000000000 +0200 ++++ b/vendor/github.com/containers/common/libimage/copier.go 2024-11-16 13:05:42.207641898 +0100 +@@ -24,7 +24,7 @@ + ) + + const ( +- defaultMaxRetries = 3 ++ defaultMaxRetries = 0 + defaultRetryDelay = time.Second + ) +