Fehlendes Tag in der Registry: auf den Tarball verweisen

Die Diagnose auf dem Zielsystem zeigte: enterprise/check-mk-enterprise
fuehrt im Zweig 2.4.0 nur p31 aufwaerts, dazu -latest und die taeglichen
Bauten. 2.4.0p9 ist dort herausgerollt - die Registry haelt nur die
juengsten Patchstaende vor.

Nachgemessen, dass das Downloadportal die Version weiterhin hat:
    .../2.4.0p9/check-mk-enterprise-docker-2.4.0p9.tar.gz   HTTP 401
also vorhanden, nur geschuetzt. Auch das oeffentliche Versionsarchiv
listet sie mit genau diesem Dateinamen.

Das ist kein Randfall, sondern der Normalfall bei einer Migration:
"omd restore" verlangt exakt die Version der Quell-Site, und die ist in
aller Regel aelter als das, was die Registry noch vorhaelt.

image_diagnose_ref sieht deshalb bei einem fehlenden Tag im Archiv nach
und nennt, wenn die Version dort liegt, den Tarball-Weg samt fertigem
Kommando - statt den Benutzer zwischen Registry und Portal suchen zu
lassen. Mit dem Unterschied zwischen beiden Quellen ist das jetzt auch
in beiden Sprachfassungen erklaert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-20 18:49:27 +02:00
co-authored by Claude Opus 5
parent 43557e9753
commit 7a74042394
3 changed files with 56 additions and 3 deletions
+30 -3
View File
@@ -1294,9 +1294,36 @@ image_diagnose_ref() { # ref
printf ' %sVorhanden (neueste)%s\n' "$C_BLD" "$C_RST"
fi
printf ' %s\n' "${near[@]}"
printf '\n Uebernehmen mit:\n'
printf ' %s image use %s/%s:<tag> --remember\n' "$SELF" "$reg" "$repo"
printf ' %s up\n' "$SELF"
# Registries halten meist nur die juengsten Patchstaende vor. Aeltere
# Versionen liegen weiterhin im Downloadportal - und genau die braucht
# man bei einer Migration, weil "omd restore" die exakte Version
# verlangt. Deshalb hier nachsehen, statt den Benutzer suchen zu lassen.
local tarball=""
if [ -n "$tag" ]; then
tarball="$(archive_docker_file "${CMK_EDITION:-enterprise}" "$tag" 2>/dev/null || true)"
fi
if [ -n "$tarball" ]; then
cat <<EOF
${C_BLD}Diese Version gibt es aber als Tarball${C_RST}
Registries halten in der Regel nur die juengsten Patchstaende vor;
das Downloadportal ist ein Archiv. Dort liegt:
$tarball
Holen und einspielen:
$SELF image download --edition ${CMK_EDITION:-enterprise} --version $tag
$SELF up
Das ist der richtige Weg, wenn eine BESTIMMTE Version gebraucht wird -
etwa bei einer Migration, weil "omd restore" genau die Version der
Quell-Site verlangt.
EOF
else
printf '\n Uebernehmen mit:\n'
printf ' %s image use %s/%s:<tag> --remember\n' "$SELF" "$reg" "$repo"
printf ' %s up\n' "$SELF"
fi
printf '\n Alle Tags: %s image versions --source registry --edition %s --all\n\n' \
"$SELF" "${CMK_EDITION:-enterprise}"
return 1