summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmchooser/data/opt/openslx/scripts
diff options
context:
space:
mode:
authorSimon Rettberg2013-11-19 15:53:23 +0100
committerSimon Rettberg2013-11-19 15:53:23 +0100
commite4abd786e489d4b54c8929ba72917c0f6336a3e3 (patch)
tree14244305a607e10d712ef972648a239b2f2e0730 /remote/modules/vmchooser/data/opt/openslx/scripts
parentMerge branch 'master' of dnbd3:openslx-ng/tm-scripts (diff)
downloadtm-scripts-e4abd786e489d4b54c8929ba72917c0f6336a3e3.tar.gz
tm-scripts-e4abd786e489d4b54c8929ba72917c0f6336a3e3.tar.xz
tm-scripts-e4abd786e489d4b54c8929ba72917c0f6336a3e3.zip
[dnbd3] Update revision
(Also minor cleanup in run_virt)
Diffstat (limited to 'remote/modules/vmchooser/data/opt/openslx/scripts')
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt103
1 files changed, 49 insertions, 54 deletions
diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
index 01456c0f..d2b046ec 100755
--- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
+++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
@@ -34,7 +34,7 @@
################################################################################
# function to write to stdout and logfile
-LOGFILE=/var/log/openslx/run-virt.${USER}.$$.log
+LOGFILE="/var/log/openslx/run-virt.${USER}.$$.log"
writelog () {
# write to stdout
echo -e "$1"
@@ -42,15 +42,28 @@ writelog () {
echo -e "$1" >> ${LOGFILE}
}
-# remove config dirs when exit
+# Clean exit will be called at the end of this script
cleanexit () {
- if echo "${RMDIRS}" 2>/dev/null | grep -q ${xmlvirt}; then
+ sleep 1
+ # remove config dirs when exit
+ if echo "${RMDIRS}" 2>/dev/null | grep -q "${xmlvirt}"; then
writelog "${xmlvirt} exited. Cleanning up... \c"
- rm -rf ${RMDIRS} >/dev/null 2>&1
+ rm -rf -- ${RMDIRS} >/dev/null 2>&1
writelog "done"
fi
+ # Disconnect dnbd3 device
+ if [ -n "$dnbd3" ]; then
+ for timeout in 1 1 2; do
+ dnbd3-client -d "$dnbd3" -c && break
+ writelog "dnbd3 still busy...."
+ sleep "$timeout"
+ done
+ fi
+ # Kill LPD
+ kill "$PID_LPD"
exit "$1"
+ exit 1 # No exit code was given :/
}
# check for important files used
@@ -480,60 +493,42 @@ fi
writelog "Used diskfile: $vm_diskfile"
# Get all virtual machine specific stuff from the respective include file
-if [ -e /opt/openslx/etc/"${xmlvirt}"/run-virt.include ] ; then
- self="${xmlvirt}"
- . /opt/openslx/etc/"${xmlvirt}"/run-virt.include
- # start a windowmanager for easier handling
- # (expect problems /w windows opening in background /w vmware without wm)
- for dm in twm xfwm4 metacity openbox blackbox kwin fvwm2 ; do
- if which $dm >/dev/null 2>&1 ; then
- if [ "$dm" = "fvwm2" ] ; then
- echo "EdgeScroll 0 0" > ${redodir}/fvwm
- fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 &
- else
- $dm >/dev/null 2>&1 &
- fi
- break
- fi
- done
- # Start poolvideoswitch if we find the autostarter file
- #if [ -e /etc/xdg/autostart/pvsgui.desktop ]; then
- # /usr/local/bin/pvsgui -p 2 -b >/dev/null 2>&1 &
- #fi
- if [[ "$DO_PROFILE" -ge "1" ]]; then
- wget "http://132.230.8.113/profile/do.php?action=start"
- fi
- eval ${VIRTCMD} ${VIRTCMDOPTS}
- writelog "Bye."
-
- # Postrun for commands after virtualization finishes
- if [ -n "${POSTRUN}" ]; then
- eval ${POSTRUN} >/dev/null 2>&1
- fi
-
- # Disconnect dnbd3 device
- if [ -n "$dnbd3" ]; then
- for timeout in 1 1 2; do
- dnbd3-client -c "$dnbd3" && break
- writelog "dnbd3 still busy...."
- sleep "$timeout"
- done
- fi
- # Postrun for commands after virtualization finishes
- if [ -n "${POSTRUN}" ]; then
- eval ${POSTRUN} >/dev/null 2>&1
- fi
-
- # Kill LPD
- kill $PID_LPD
-
- cleanexit 0
-else
+if [ ! -e "/opt/openslx/etc/${xmlvirt}/run-virt.include" ] ; then
writelog "Failed because of missing ${xmlvirt} plugin."
cleanexit 1
fi
+self="${xmlvirt}"
+. "/opt/openslx/etc/${xmlvirt}/run-virt.include" || writelog "Erroneous run-virt.include for $xmlvirt"
+# start a windowmanager for easier handling
+# (expect problems /w windows opening in background /w vmware without wm)
+for dm in twm xfwm4 metacity openbox blackbox kwin fvwm2 ; do
+ if which $dm >/dev/null 2>&1 ; then
+ if [ "$dm" = "fvwm2" ] ; then
+ echo "EdgeScroll 0 0" > ${redodir}/fvwm
+ fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 &
+ else
+ $dm >/dev/null 2>&1 &
+ fi
+ break
+ fi
+done
+# Start poolvideoswitch if we find the autostarter file
+#if [ -e /etc/xdg/autostart/pvsgui.desktop ]; then
+# /usr/local/bin/pvsgui -p 2 -b >/dev/null 2>&1 &
+#fi
+if [[ "$DO_PROFILE" -ge "1" ]]; then
+ wget "http://132.230.8.113/profile/do.php?action=start"
+fi
+eval ${VIRTCMD} ${VIRTCMDOPTS}
+writelog "Bye."
+
+# Postrun for commands after virtualization finishes
+if [ -n "${POSTRUN}" ]; then
+ eval ${POSTRUN} >/dev/null 2>&1
+fi
cleanexit 0
-exit 0
+
+