diff options
author | Simon Rettberg | 2019-03-14 22:33:15 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-03-14 22:33:15 +0100 |
commit | 4547c283abb963a12d48434d91a02a74be4de96a (patch) | |
tree | e4bd4658f636b9cdd94c773d189d152bc7eaaa20 /core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes | |
parent | [kiosk-slxbrowser] Honor new black/whitelist vars (diff) | |
download | mltk-4547c283abb963a12d48434d91a02a74be4de96a.tar.gz mltk-4547c283abb963a12d48434d91a02a74be4de96a.tar.xz mltk-4547c283abb963a12d48434d91a02a74be4de96a.zip |
[run-virt] Use --retry-connrefused; shuffle slxlog around
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes')
-rw-r--r-- | core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc index 8c680677..17b679ea 100644 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc @@ -6,7 +6,7 @@ # Legacy mode: As runvirt has been before. # New mode: uuid in xml _and_ vmx given via http. download_metadata() { - local TRIES EXTRA_ERROR WLOG TMPFILE RET ERRCODE + local TRIES EXTRA_ERROR WLOG TMPFILE RET ERRCODE CMDLINE # Sanity checks if ! check_dep wget; then writelog "Could not find 'wget' in PATH: $PATH" @@ -19,7 +19,9 @@ download_metadata() { # Try new unified .tar.gz way TMPFILE="$TMPDIR/metadata.tgz" WLOG="$TMPDIR/wget-metadata.log" - curl -L -o "$TMPFILE" -w '\nretval:%{http_code}\n' --retry 3 --max-time 6 --retry-max-time 15 "${url_lecture_metadata}" &> "$WLOG" + CMDLINE= + curl --help | grep -q -- --retry-connrefused && CMDLINE="--retry-connrefused" + curl -L -o "$TMPFILE" -w '\nretval:%{http_code}\n' --retry 3 $CMDLINE --max-time 6 --retry-max-time 15 "${url_lecture_metadata}" &> "$WLOG" ERRCODE=$( awk -F: '{ if ($1 == "retval") print $2 }' "$WLOG" ) RET=$? if [ "$RET" = 0 ] && [ -n "$ERRCODE" ] && [ "$ERRCODE" -ge 200 ] && [ "$ERRCODE" -lt 300 ]; then @@ -29,11 +31,11 @@ download_metadata() { fi rm -rf -- "$TMPFILE" writelog "Extracting metadata.tgz failed. Trying legacy mode." - elif [ -n "$ERRCODE" ] && [ "$ERRCODE" -ge 500 ]; then - slxlog --delete "run-virt-wget" "Downloading MetaData failed" "$WLOG" + else + writelog "Downloading metadata.tgz failed (HTTP $ERRCODE). Trying legacy mode." + #slxlog --delete "run-virt-wget" "Downloading MetaData failed" "$WLOG" fi - writelog "Metadata download failed, trying legacy approach..." TRIES=0 while [ "$TRIES" -lt 3 ]; do TRIES=$(( TRIES + 1 )) @@ -50,17 +52,18 @@ download_metadata() { EXTRA_ERROR="(Der Server hat eine leere Antwort gesendet)" fi else - local ERRCODE=$(grep -m1 -o -E '\b[0-9]{3}\b' "$WLOG") + ERRCODE=$(grep -m1 -o -E '\b[0-9]{3}\b' "$WLOG") if [ -n "$ERRCODE" ]; then EXTRA_ERROR="(HTTP Error Code $ERRCODE)" else EXTRA_ERROR="(Der Server ist nicht erreichbar)" fi writelog "wget failed." - slxlog --delete "run-virt-wget" "Downloading VMX failed" "$WLOG" fi done + slxlog --delete "run-virt-wget" "Downloading VMX/Metadata failed" "$WLOG" + # Seems we are in legacy mode, which is no longer supported. Warn user and exit EXIT_TYPE="user" EXIT_REASON="msg.vm.no-metadata Die Metadaten der Lehrumgebung konnten nicht vom bwLehrpool-Satelliten |