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:
+30
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user