fix(setup): use Docker 29.4.2 on Ubuntu 26.04 to fix install failure

The provisioning script pins DOCKER_VERSION=28.5.0 and passes it to
get.docker.com via --version. Ubuntu 26.04 (resolute) ships a docker-ce
repo with no 28.5.0, so the pin is not found in apt-cache madison and
Docker is never installed, aborting setup with 'Failed to initialize
Docker Swarm'.

Repin to a version present on every architecture Docker ships resolute
for. amd64/arm64/armhf start at 29.3.1, but the s390x pool only carries
29.4.0-29.4.2, so 29.3.1 still fails there; 29.4.2 is the newest version
common to all shipped arches (ppc64le is not shipped for resolute). The
override applies to Ubuntu 26.04 only; all other releases keep 28.5.0,
and it runs before the install banner so the reported version stays
accurate and both the full-server and build-server paths are covered.

Fixes #4327, #4349. Closes #4501.
This commit is contained in:
Philippe Parage
2026-06-17 21:11:01 +02:00
parent 24b02f5523
commit b9a8064371
+11
View File
@@ -162,6 +162,17 @@ else
OS_VERSION=$(grep -w "VERSION_ID" /etc/os-release | cut -d "=" -f 2 | tr -d '"')
fi
# Ubuntu 26.04 (resolute) ships a docker-ce repo that has no 28.5.0, so the
# default pin is absent from apt-cache madison and get.docker.com aborts before
# installing Docker. Repin to a version present on every architecture Docker
# ships resolute for: amd64/arm64/armhf start at 29.3.1, but s390x only carries
# 29.4.0-29.4.2, so 29.4.2 is the newest version common to all of them. This
# must run after OS_VERSION is resolved and before the banner so the reported
# Docker version stays accurate.
if [ "$OS_TYPE" = "ubuntu" ] && [ "$OS_VERSION" = "26.04" ]; then
DOCKER_VERSION=29.4.2
fi
if [ "$OS_TYPE" = 'amzn' ]; then
$SUDO_CMD dnf install -y findutils >/dev/null
fi