summaryrefslogtreecommitdiffstats
path: root/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc
diff options
context:
space:
mode:
authorSteffen Ritter2017-05-10 14:50:41 +0200
committerSteffen Ritter2017-05-10 14:50:41 +0200
commit04c7b65540adcc3d97136f344445faa247c6b03f (patch)
tree1f9553f33ee2dec4bf4fa93b490acf2d21f06cb7 /core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc
parentFixed wording (diff)
parent[run-virt] Retry vmx download and give better feedback (diff)
downloadmltk-04c7b65540adcc3d97136f344445faa247c6b03f.tar.gz
mltk-04c7b65540adcc3d97136f344445faa247c6b03f.tar.xz
mltk-04c7b65540adcc3d97136f344445faa247c6b03f.zip
Merge branch 'master' of git.openslx.org:openslx-ng/mltk
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc')
-rw-r--r--core/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/download_vm_metadata.inc26
1 files changed, 18 insertions, 8 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 aff656d3..114303b7 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
@@ -17,18 +17,28 @@ download_metadata() {
EXIT_TYPE="internal" EXIT_REASON="msg.vmchooser.url-missing Keine URL zur Schnittstelle des bwLehrpool-Satelliten gefunden!" cleanexit 1
fi
- writelog "Detecting current/legacy mode..."
+ writelog "Detecting current/legacy mode..."
declare -rg TMPCONFIG="$TMPDIR/vmconfig.tmp"
- if wget -T 6 -O "$TMPCONFIG" "${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID}" 2>/dev/null >&2; then
- writelog "Downloaded VM description from '${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID}' successfully."
- if [ -s "$TMPCONFIG" ]; then
- # Downloaded a non-zero VM description file, all good
- return 0
+ local WLOG="$TMPDIR/wget.log"
+ local TRIES=0
+ while [ "$TRIES" -lt 3 ]; do
+ TRIES=$(( TRIES + 1 ))
+ writelog "wget try $TRIES"
+ if wget -T 6 -O "$TMPCONFIG" "${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID}" &>"$WLOG"; then
+ rm -f -- "$WLOG"
+ writelog "Downloaded VM description from '${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID}' successfully."
+ if [ -s "$TMPCONFIG" ]; then
+ # Downloaded a non-zero VM description file, all good
+ return 0
+ else
+ writelog "Server sent zero byte virtual machine description file."
+ fi
else
- writelog "Server sent zero byte virtual machine description file. Triggering legacy mode."
+ writelog "wget failed."
+ slxlog --delete "run-virt-wget" "Downloading VMX failed" "$WLOG"
fi
- fi
+ done
# Seems we are in legacy mode, which is no longer supported. Warn user and exit
EXIT_TYPE="user" EXIT_REASON="msg.vm.no-metadata