summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmchooser/data
diff options
context:
space:
mode:
authorChristian Rößler2013-11-21 17:38:48 +0100
committerChristian Rößler2013-11-21 17:38:48 +0100
commitd8e77f3affcc11af0dec6c7bb96a7b53576da519 (patch)
tree3e7f30d4a6e42a9fff2969c629f48cba56b6c483 /remote/modules/vmchooser/data
parent[systemd] systemd.build: Corrected pkg_config-Path to own kmod (diff)
parent[stage4-blacklist] Remove links to shell, poweroff/reboot/shutdown, whitelist... (diff)
downloadtm-scripts-d8e77f3affcc11af0dec6c7bb96a7b53576da519.tar.gz
tm-scripts-d8e77f3affcc11af0dec6c7bb96a7b53576da519.tar.xz
tm-scripts-d8e77f3affcc11af0dec6c7bb96a7b53576da519.zip
Merge branch 'master' of git.openslx.org:openslx-ng/tm-scripts
Diffstat (limited to 'remote/modules/vmchooser/data')
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt29
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter4
2 files changed, 20 insertions, 13 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 2c48218c..eb284192 100755
--- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
+++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
@@ -244,11 +244,6 @@ else
vmpath="${imgpath}/${imgname}"
fi
-# Check if virtual machine container file exists
-if ! [ -e "${vmpath}" ]; then
- writelog "Virtual machine image ${vmpath} not found!"
- exit 1
-fi
# Name of the virt machine, sed because of Windows formatting
vm_name=$(grep -o 'short_description param=.*"' "${xmlfile}" \
@@ -470,17 +465,18 @@ cp "/opt/openslx/etc/vmchooser/openslx.exe" "/opt/openslx/etc/vmchooser/fd-loop/
unset vm_diskfile
unset vm_revision
unset dnbd3
-if [ -n "$SLX_DNBD3_SERVERS" -a "x$SLX_VM_DNBD3" = "xyes" ]; then
+if [ -n "$SLX_DNBD3_SERVERS" -o -n "$SLX_DNBD3_PRIO_SERVERS" ] && [ "x$SLX_VM_DNBD3" = "xyes" ]; then
if [ -e "/dev/dnbd0" -a -e "/var/run/dnbd3.socket" ]; then
# Shuffle server list
- TMP_SERVERS=$(for SRV in $SLX_DNBD3_SERVERS; do echo "$RANDOM $SRV"; done | sort -u | sed -r 's/^[0-9]+ //')
- for SRV in $TMP_SERVERS; do
+ [ -n "$SLX_DNBD3_SERVERS" ] && TMP_SERVERS=$(for SRV in $SLX_DNBD3_SERVERS; do echo "$RANDOM $SRV"; done | sort -u | sed -r 's/^[0-9]+ //')
+ for SRV in $SLX_DNBD3_PRIO_SERVERS $TMP_SERVERS; do
dnbd3=$(dnbd3-client -h "$SRV" -i "${vmpath#/mnt/vmstore/}" -r 0)
RET=$?
if [ "$RET" = "0" ]; then
- vm_diskfile="$dnbd3"
vm_revision=$(cat "/sys/block/${dnbd3#/dev/}/net/rid")
writelog "DNBD3: $vm_diskfile on $dnbd3 with rid $vm_revision"
+ vm_diskfile="$dnbd3"
+ vmpath="$vm_diskfile"
break
fi
done
@@ -491,7 +487,18 @@ if [ -n "$SLX_DNBD3_SERVERS" -a "x$SLX_VM_DNBD3" = "xyes" ]; then
else
writelog "Won't use dnbd3 as no servers are given in config"
fi
-[ -z "$vm_diskfile" ] && vm_diskfile="$vmpath"
+
+if [ -z "$vm_diskfile" ]; then
+ vmpath=$(ls "${vmpath}.r"* | grep -E '\.r[0-9]+$' | sort --version-sort | tail -1)
+ vm_diskfile="$vmpath"
+fi
+
+# Check if virtual machine container file exists
+if ! [ -e "${vmpath}" ]; then
+ writelog "Virtual machine image ${vmpath} not found!"
+ exit 1
+fi
+
writelog "Used diskfile: $vm_diskfile"
# Get all virtual machine specific stuff from the respective include file
@@ -503,7 +510,7 @@ 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)
+# (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
diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter
index 4faea740..960d1358 100755
--- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter
+++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter
@@ -59,9 +59,9 @@ function handlePersistentVM() {
grep -i -q "<active param=.*true.*" "$FILE" || continue
# HACK: filter all virtualbox images, as vbox is not ready yet
grep -i -q "<virtualmachine param=.*virtualbox.*" "$FILE" && continue
- if [ -n "${vmchooser_env}" ]; then
+ if [ -n "${SLX_VM_POOL_FILTER}" ]; then
# filter all xmls with pool-param not equal to vmchooser::env
- if [ $(grep "<pools param=\"${vmchooser_env}\"" "$FILE" | wc -l) -eq 1 ]; then
+ if [ $(grep "<pools param=\"${SLX_VM_POOL_FILTER}\"" "$FILE" | wc -l) -eq 1 ]; then
handlePersistentVM "$FILE"
echo "$FILE"
fi