summaryrefslogtreecommitdiffstats
path: root/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes
diff options
context:
space:
mode:
authorSimon Rettberg2019-03-14 22:33:15 +0100
committerSimon Rettberg2019-03-14 22:33:15 +0100
commit4547c283abb963a12d48434d91a02a74be4de96a (patch)
treee4bd4658f636b9cdd94c773d189d152bc7eaaa20 /core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes
parent[kiosk-slxbrowser] Honor new black/whitelist vars (diff)
downloadmltk-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.inc17
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