summaryrefslogtreecommitdiffstats
path: root/core/modules/run-virt/data/opt/openslx/scripts
diff options
context:
space:
mode:
authorJonathan Bauer2017-01-25 18:32:35 +0100
committerJonathan Bauer2017-01-25 18:32:35 +0100
commiteea5898961a40fc50f01356f90c42904a73a3f74 (patch)
tree52c19d11efc2d7d904ac89e36ff271de305cfc5a /core/modules/run-virt/data/opt/openslx/scripts
parent[pam] Include cifs.upcall for DFS support (diff)
downloadmltk-eea5898961a40fc50f01356f90c42904a73a3f74.tar.gz
mltk-eea5898961a40fc50f01356f90c42904a73a3f74.tar.xz
mltk-eea5898961a40fc50f01356f90c42904a73a3f74.zip
major run-virt restructure, only vmware plugin tested!
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/scripts')
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc11
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc53
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc23
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc33
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc50
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc103
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc120
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc12
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc88
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc89
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc21
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc71
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc33
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc64
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc21
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc19
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/start_pvs.inc11
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc20
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc77
-rw-r--r--core/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc48
-rwxr-xr-xcore/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env92
21 files changed, 48 insertions, 1011 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc
deleted file mode 100644
index 8286bbaa..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-############################################
-# Include: Checking whether lpd is running #
-############################################
-
-# Check if tcpsvd is running. Do this down here so we do not check
-# immediately after trying to spawn it, as this could result in
-# success even if it's not really working.
-
-if ! kill -0 "$PID_LPD"; then
- slxlog "virt-lpd" "Could not start tcpsvd/lpd for virtual machine session"
-fi
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc
deleted file mode 100644
index fbb0bc70..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc
+++ /dev/null
@@ -1,53 +0,0 @@
-#################################################################
-# Include: Check for important files used by vmchooser_run-virt #
-#################################################################
-
-# WARNING: This is perhaps vestigial!
-
-filecheck() {
- filecheck=$(LANG=us ls -lh ${diskfile} 2>&1)
- writelog "Filecheck:\n${filecheck}\n"
- noimage=$(echo ${filecheck} | grep -i "no such file or directory" | wc -l)
- rightsfile=${diskfile}
-
- # check if link
- if [ -L "${diskfile}" ]; then
- # take link target
- rightsfile=$(ls -lh ${diskfile} 2>&1 | awk -F '-> *' '{print $2}')
- rightsfile=${vmdir}/${rightsfile}
- filecheck=$(LANG=us ls -lh ${rightsfile} 2>&1)
- fi
-
- # does file exist
- if [ "${noimage}" -ge "1" ]; then
- writelog "Virtual Machine Image Problem:\c "
- writelog "\tThe image you've specified doesn't exist."
- writelog "Filecheck says:\c "
- writelog "\t\t${diskfile}:\n\t\t\tNo such file or directory"
- writelog "Hint:\c "
- writelog "\t\t\tCompare spelling of the image with your options.\n"
- exit 1
- fi
- # readable by calling user
- if ! [ -r "${diskfile}" >/dev/null 2>&1 \
- -o -r "${diskfile}" >/dev/null 2>&1 ]; then
- writelog "Vmware Image Problem:\c "
- writelog "\tThe image you've specified has wrong rights."
- writelog "Filecheck says:\t\t$(echo ${filecheck} \
- | awk '{print $1" "$3" "$4}') ${rightsfile}"
- writelog "Hint:\t\t\tChange rights with: chmod a+r ${rightsfile}\n"
- exit 1
- fi
-
- # writable (for persistent-mode)?
- if ! [ -w "${diskfile}" >/dev/null 2>&1 \
- -o -w "${diskfile}" >/dev/null 2>&1 ] \
- && [ "${np}" = "independent-persistent" ]; then
- writelog "Vmware Image Problem:\c "
- writelog "\tThe image you have specified has wrong rights."
- writelog "Filecheck says:\t\t$(echo ${filecheck} \
- | awk '{print $1" "$3" "$4}') ${rightsfile}"
- writelog "Hint:\t\t\tUse nonpersistent-mode or change rights to rw\n"
- exit 1
- fi
-}
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc
deleted file mode 100644
index d331e1af..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-#######################################################
-# Include: check xml file for sanity (legacy, old way #
-#######################################################
-
-# test if the xml file is valid
-if ! [ -r "${xmlfile}" ]; then
- writelog "${xmlfile} not a readable XML file!"
- slxlog "virt-nonreadable-xml" "XML file not readable: $xmlfile"
- exit 1
-fi
-
-# test if XML file
-if ! grep -q '<?xml' "${xmlfile}"; then
- writelog "Submitted configuration file ${xmlfile} seems to have wrong XML format"
- slxlog "virt-invalid-xml" "Malformed XML file: $xmlfile" "$xmlfile"
- exit 1
-fi
-
-# check for running in graphical environment otherwise no much use here
-if [ -z "$DISPLAY" ]; then
- echo -e "\n\tStart only within a graphical desktop!\n"
- exit 1
-fi
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc
deleted file mode 100644
index 11a21832..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-########################################################
-# Include: Detect, whether runvirt runs in legacy mode #
-########################################################
-
-# Legacy mode: As runvirt has been before.
-# New mode: uuid in xml _and_ vmx given via http.
-
-writelog "Detecting current/legacy mode ..."
-
-# First, let's try to extract an imguuid from xmlfile:
-IMGUUID=$(grep -io '<uuid param=.*"' "${xmlfile}" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-
-writelog "IMGUUID extracted: $IMGUUID"
-
-if [ ! -n "$IMGUUID" ]; then # Keine uuid: Abbruch, Legacy
- writelog "Could not extract an uuid param from ${xmlfile}. Triggering legacy mode."
- LEGACY=: # No uuid; legacy.
-else
- # Now getting template file:
- if wget -O "$TMPDIR/$IMGUUID" "${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID}" 1>&2 2>/dev/null; then
- writelog "wget ${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID} successful."
- writelog "Triggering current (non-legacy) mode."
- LEGACY= # both strings set: no legacy.
- if [ ! -s "$TMPDIR/$IMGUUID" ]; then
- LEGACY= # no legacy: server sent 0 byte file.
- writelog "Server sent zero byte virtual machine description file. Retriggering legacy mode."
- fi
- else
- writelog "wget ${SLX_VMCHOOSER_BASE_URL}/lecture/${IMGUUID}. Triggering legacy mode."
- LEGACY=:
- fi
-fi
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc
deleted file mode 100644
index c3c6f7b3..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-#########################################################
-# Include: Get xml file and directory (legacy, old way) #
-#########################################################
-
-## Added for persistent support.
-diskmode='nonpersistent'
-if [[ "$(grep --extended-regexp \
- '< *short_description *param=".+ --persistent--"' "$1")" ]]; then
- diskmode='persistent'
- imageFilePath="$(grep -io '<image_path param=.*"' "$1" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')"
- [ -z "$imageFilePath" ] && imageFilePath="$(grep -io '<image_name param=.*"' "$1" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')"
- originalXMLFilePath="$(grep -io '<original_xml_file_path param=.*"' "$1" \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')"
- originalImageFileName="$(grep -io '<image_name param=.*"' \
- "$originalXMLFilePath" | sed -e "s/&.*;/; /g" | awk -F '"' \
- '{ print $2 }')"
- originalVMDKFilePath="$(dirname \
- "$originalXMLFilePath")/${originalImageFileName}"
- # Added to workaround path prefix coming from temporary generated xml file
- # by vmchooser.
- if [[ "$(grep --extended-regexp '^/tmp/tmp\.[^\/]+/' <<< \
- "$imageFilePath")" ]]; then
- imageFilePath=$(sed -r 's/^\/?tmp\/[^\/]+\///g' \
- <<< "$imageFilePath")
- sed -ir \
- "s/(<image_name param=\")[^\"]*(\")/\\1$(sed -e \
- 's/\\/\\\\/g' -e 's/\//\\\//g' -e \
- 's/&/\\\&/g' <<< "$imageFilePath")\\2/g" "$1"
- fi
- # Create linked clone if not exists.
- if [ ! -f "$imageFilePath" ]; then
- mkdir -p "$(dirname "$imageFilePath")" && \
- bash "$(dirname "$0")/vmchooser-clc" "$originalXMLFilePath" \
- "$imageFilePath" --debug --verbose &>"${LOGFILE}"
- fi
-fi
-
-# absolute or relative path?
-xmlfile=$1
-if ls "${xmlfile}" 2>/dev/null | grep '/' >/dev/null 2>&1; then
- xmlpath=$(dirname "${xmlfile}")
- xmlfile=$(basename "${xmlfile}")
-else
- xmlpath=${vmchooser_xmlpath}
-fi
-# full path
-xmlfile="${xmlpath}/${xmlfile%.xml}.xml"
-
-DO_PROFILE="$(grep -c -E -i '<\s*profile\s*param="?(true|yes)"?' "$xmlfile")"
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc
deleted file mode 100644
index b7ed648c..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc
+++ /dev/null
@@ -1,103 +0,0 @@
-###########################################
-# Include: Set hardware related variables #
-###########################################
-
-writelog "Starting configuration..."
-writelog "\tLogfile:\t\t${LOGFILE}"
-writelog "\t/tmp info:\t\t$(df -h | grep " /tmp$" | awk '{print $2}') \c"
-writelog "$(grep "/tmp " /proc/mounts | awk '{print $1" "$2" "$3" "$4}')"
-writelog "\tVM XML dir:\t\t$(dirname "${xmlfile}")"
-writelog "\tXML file:\t\t${xmlfile}"
-writelog "Enable 3D:\t\t${enable3d}"
-writelog "VM config:"
-
-# # Name of the virt image
-imgname=$(grep -io '<image_path param=.*"' "${xmlfile}" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-imgrelpath=$(grep -io '<image_name param=.*"' "${xmlfile}" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-# [ -z "$imgname" ] && imgname="${imgrelpath}"
-imgrelpath=${imgrelpath#/mnt/vmstore/}
-
-writelog "Virtual image file name: $imgname"
-
-# Imagename w/ full path
-if echo "${imgname}" | grep -q '^/'; then
- imgpath="$(dirname "${imgname}")"
- imgname="$(basename "${imgname}")"
- vmpath="${imgpath}/${imgname}"
- # If old vmchooser binary stuff
- # We do not need folder name as it is already included by vmchooser
-elif echo "${xmlfile}" | grep -q '^/tmp/'; then
- vmpath="$imgname"
- imgname="$(basename "${imgname}")"
- ## Added for persistent support.
-else
- # Else use same path as xml
- imgpath="${xmlpath}"
- vmpath="${imgpath}/${imgname}"
-fi
-
-# If ${vm_name} not defined use ${xmlfile}
-vm_name="${vm_name:-${xmlfile%.xml}}"
-
-# Define vm_shortname since vm_name can be very long
-vm_shortname="$(basename "${xmlfile%.xml}" | sed -e "s, ,-,g")"
-
-# vm_name = displayname, define for old scripts
-displayname="${vm_name}"
-
-# image is for the following virtual machine
-xmlvirt=$(grep -o 'virtualmachine param=.*"' "${xmlfile}" \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-
-# choose the proper virtualization/emulator plugin
-[ "x${xmlvirt}" != "x" -a "x${xmlvirt}" != "xqemukvm" -a "x${xmlvirt}" != "xvirtualbox" -a "x${xmlvirt}" != "xvmware" ] && xmlvirt="emufe"
-
-# Extracting OS type (vmostype) from xml file. We don't care here whether vmostype is empty, as then
-# it will yield the default entries later on.
-vmostype=$(grep -io '<os param=.*"' "${xmlfile}" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-
-# make a guess from the filename extension if ${xmlvirt} is empty
-# (not set within the XML file)
-# TODO: implement possibility to submit own configuration files
-if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then
- writelog "No virtual machine parameter defined in ${xmlfile}"
- writelog "Trying to guess VM...\c"
- case "$(cat ${additional_config} | tr \"[A-Z]\" \"[a-z]\")" in
- *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*)
- xmlvirt="vmware"
- ;;
- *innotek*|*virtualbox*)
- xmlvirt="virtualbox"
- ;;
- *qemu*|*kvm*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="none"
- ;;
- esac
- elif [ -z "${xmlvirt}" ]; then
- case "$(echo ${imgname##*.} | tr \"[A-Z]\" \"[a-z]\")" in
- vmdk)
- xmlvirt="vmware"
- ;;
- vbox|vdi)
- xmlvirt="virtualbox"
- ;;
- qcow*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="emufe"
- ;;
- esac
- writelog "result:\t${xmlvirt}"
-fi
-
-# Set redirects to 0, see vmgrid if you want to define some
-redirects=0
-
-writelog "\tVirtualization:\t\t$xmlvirt"
-writelog "\tVM name:\t\t$vm_name"
-writelog "\tVM short name:\t\t$vm_shortname"
-writelog "\tVM OS:\t\t$vmostype"
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc
deleted file mode 100644
index 3fdc06d2..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc
+++ /dev/null
@@ -1,120 +0,0 @@
-###########################################
-# Include: Set hardware related variables #
-###########################################
-
-writelog "Starting configuration..."
-writelog "\tLogfile:\t\t${LOGFILE}"
-writelog "\t/tmp info:\t\t$(df -h | grep " /tmp$" | awk '{print $2}') \c"
-writelog "$(grep "/tmp " /proc/mounts | awk '{print $1" "$2" "$3" "$4}')"
-writelog "\tVM XML dir:\t\t$(dirname "${xmlfile}")"
-writelog "\tXML file:\t\t${xmlfile}"
-writelog "Enable 3D:\t\t${enable3d}"
-writelog "VM config:"
-
-# Name of the virt image
-imgname=$(grep -io '<image_path param=.*"' "${xmlfile}" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-imgrelpath=$(grep -io '<image_name param=.*"' "${xmlfile}" | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-[ -z "$imgname" ] && imgname="${imgrelpath}"
-imgrelpath=${imgrelpath#/mnt/vmstore/}
-
-## Added for persistent support.
-if [[ "$userBranchFilePath" ]]; then
- imgname="$userBranchFilePath"
-fi
-
-# Imagename w/ full path
-if echo "${imgname}" | grep -q '^/'; then
- imgpath="$(dirname "${imgname}")"
- imgname="$(basename "${imgname}")"
- vmpath="${imgpath}/${imgname}"
- # If old vmchooser binary stuff
- # We do not need folder name as it is already included by vmchooser
-elif echo "${xmlfile}" | grep -q '^/tmp/'; then
- vmpath="$imgname"
- imgname="$(basename "${imgname}")"
- ## Added for persistent support.
-elif [[ "$userBranchFilePath" ]]; then
- vmpath="$userBranchFilePath"
-else
- # Else use same path as xml
- imgpath="${xmlpath}"
- vmpath="${imgpath}/${imgname}"
-fi
-
-# Name of the virt machine, sed because of Windows formatting
-vm_name=$(grep -o 'short_description param=.*"' "${xmlfile}" \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-
-# If ${vm_name} not defined use ${xmlfile}
-vm_name="${vm_name:-${xmlfile%.xml}}"
-
-# Define vm_shortname since vm_name can be very long
-vm_shortname="$(basename "${xmlfile%.xml}" | sed -e "s, ,-,g")"
-
-# vm_name = displayname, define for old scripts
-displayname="${vm_name}"
-
-# image is for the following virtual machine
-xmlvirt=$(grep -o 'virtualmachine param=.*"' "${xmlfile}" \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-
-# choose the proper virtualization/emulator plugin
-[ "x${xmlvirt}" != "x" -a "x${xmlvirt}" != "xqemukvm" -a "x${xmlvirt}" != "xvirtualbox" -a "x${xmlvirt}" != "xvmware" ] && xmlvirt="emufe"
-
-# make a guess from the filename extension if ${xmlvirt} is empty
-# (not set within the XML file)
-# TODO: implement possibility to submit own configuration files
-if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then
- writelog "No virtual machine parameter defined in ${xmlfile}"
- writelog "Trying to guess VM...\c"
- case "$(cat ${additional_config} | tr \"[A-Z]\" \"[a-z]\")" in
- *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*)
- xmlvirt="vmware"
- ;;
- *innotek*|*virtualbox*)
- xmlvirt="virtualbox"
- ;;
- *qemu*|*kvm*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="none"
- ;;
- esac
- elif [ -z "${xmlvirt}" ]; then
- case "$(echo ${imgname##*.} | tr \"[A-Z]\" \"[a-z]\")" in
- vmdk)
- xmlvirt="vmware"
- ;;
- vbox|vdi)
- xmlvirt="virtualbox"
- ;;
- qcow*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="emufe"
- ;;
- esac
- writelog "result:\t${xmlvirt}"
-fi
-
-# Definition of the client system
-vmostype=$(grep -io '<os param=.*"' "${xmlfile}" | awk -F '"' '{ print $2 }' | tr "[A-Z]" "[a-z]")
-
-# Definition of the networking the client system is connected to
-network_kind=$(grep -io '<network param=.*"' "${xmlfile}" | awk -F '"' '{ print $2 }' | tr "[A-Z]" "[a-z]")
-network_card=$(grep -io '<netcard param=.*"' "${xmlfile}" | awk -F '"' '{ print $2 }'| tr "[A-Z]" "[a-z]")
-override_hddtype=$(grep -io '<hddtype param=.*"' "${xmlfile}" | awk -F '"' '{ print $2 }'| tr "[A-Z]" "[a-z]")
-
-# Set redirects to 0, see vmgrid if you want to define some
-redirects=0
-
-# Serial/parallel ports defined (e.g. "ttyS0" or "autodetect")
-serial=$(grep -io '<serialport param=.*"' "${xmlfile}" | awk -F '"' '{ print $2 }')
-parallel=$(grep -io '<parport param=.*"' "${xmlfile}" | awk -F '"' '{ print $2 }')
-
-writelog "\tVirtualization:\t\t$xmlvirt"
-writelog "\tVM name:\t\t$vm_name"
-writelog "\tVM short name:\t\t$vm_shortname"
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc
deleted file mode 100644
index 649cf956..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-#######################################
-# Include: Print Logo for console use #
-#######################################
-
-cat <<EOL
- __ __
- .----.--.--.-----.___.--.--.|__|.----.| |_
- | _| | | |___| | || || _|| _|
- |__| |_____|__|__| \___/ |__||__| |____|
- OpenSLX virtual machine environment preparation script ...
-
-EOL
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc
deleted file mode 100644
index 400c1bf4..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc
+++ /dev/null
@@ -1,88 +0,0 @@
-###########################################
-# Include: Set hardware related variables #
-###########################################
-
-# take last two digits of current pid...
-VM_ID=$(expr substr $$ $(expr ${#$} - 1) 2)
-
-# Make sure cpu_cores is not empty
-cpu_cores=${cpu_cores:-"1"}
-
-# Amount of memory for the VM. Be generous if diff is written to HDD
-if mount | grep -q '^/dev/sd.*on.*/tmp'; then
- reserve=20
- min=768
- max=1536
-else
- reserve=65
- min=768
- max=8192
-fi
-
-# Calculate absulute amount of RAM that should stay available to the host
-reserve="$[ ( $totalmem * $reserve ) / 100 ]"
-# Respect some upper and lower bounds for the host amount
-[ "$reserve" -lt "$min" ] && reserve="$min"
-[ "$reserve" -gt "$max" ] && reserve="$max"
-
-# Get a result which can be divided by 4
-mem="$[ ( ( $totalmem - $reserve ) / 4 ) * 4 ]"
-if [ -n "$mainvirtmem" ]; then
- forcemem="$[ "$mainvirtmem" / 4 * 4 ]"
- mem="$forcemem"
-fi
-hostmem="$[ $totalmem - $mem ]"
-
-# TODO: We should only generate the suffix here (last 3 octets) as the first 3 are
-# dependant on the virtualizer/emulator. Check if any run-virt.include still relies on
-# $macguestpart/$macaddr. If so, fix it to use its specific first 3 bytes
-# and append $macaddrssuffix
-macguestpart="00:50:56:${VM_ID}"
-machostpart=$(echo "${hostmacaddr}" | awk -F ":" '{print $(NF-1)":"$NF}')
-macaddr=$(echo "${macguestpart}:${machostpart}" | tr "[a-z]" "[A-Z]")
-macaddrsuffix=$(echo "${VM_ID}:${machostpart}" | tr "[a-z]" "[A-Z]")
-
-if ! echo "$macaddrsuffix" | grep -q -E '^[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}$'; then
- slxlog "virt-mac" "Could not properly generate mac address suffix (got $macaddrsuffix)"
-fi
-
-# Virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from virtualization.conf set then fdtest="TRUE"
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="$VMCHOOSER_DIR/data/loopimg/fd.img"
-# if $cdrom_0 from virtualization.conf set then cdtest="TRUE"
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from virtualization.conf set then cdtest="TRUE"
-cdtest=${cdrom_1:+"TRUE"}
-# if $cdtest not set cdrom1="FALSE", else "TRUE"
-cdrom1=${cdtest:-"FALSE"}
-# IDE is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-# TODO enable SCSI support instead of just disabling it.
-ide="TRUE"
-scsi="FALSE"
-hddrv="ide"
-audio="true"
-remotedesktopport="590${VM_ID}"
-
-# Enable 3D
-enable3d=$(grep -i -o "<enable3d param=.*" "${xmlfile}" | awk -F '"' '{print $2}' | rv_clean_string)
-
-# Add rw share for home dir
-homesharepath="${HOME}/PERSISTENT"
-homesharename="home"
-
-# Add common share
-commonsharepath="${HOME}/SHARE"
-commonsharename="share"
-
-# Set hostname: using original hostname and adding string
-hostname="virt-$(hostname)"
-
-writelog "\tVM Hostname:\t\t$hostname"
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc
deleted file mode 100644
index 0da5e2be..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc
+++ /dev/null
@@ -1,89 +0,0 @@
-###########################################
-# Include: Set hardware related variables #
-###########################################
-
-# take last two digits of current pid...
-VM_ID=$(expr substr $$ $(expr ${#$} - 1) 2)
-
-# Make sure cpu_cores is not empty
-cpu_cores=${cpu_cores:-"1"}
-
-# Amount of memory for the VM. Be generous if diff is written to HDD
-if mount | grep -q '^/dev/sd.*on.*/tmp'; then
- reserve=20
- min=768
- max=1536
-else
- reserve=65
- min=768
- max=8192
-fi
-
-# Calculate absulute amount of RAM that should stay available to the host
-reserve="$[ ( $totalmem * $reserve ) / 100 ]"
-# Respect some upper and lower bounds for the host amount
-[ "$reserve" -lt "$min" ] && reserve="$min"
-[ "$reserve" -gt "$max" ] && reserve="$max"
-
-# Get a result which can be divided by 4
-mem="$[ ( ( $totalmem - $reserve ) / 4 ) * 4 ]"
-if [ -n "$mainvirtmem" ]; then
- forcemem="$[ "$mainvirtmem" / 4 * 4 ]"
- mem="$forcemem"
-fi
-hostmem="$[ $totalmem - $mem ]"
-
-# TODO: We should only generate the suffix here (last 3 octets) as the first 3 are
-# dependant on the virtualizer/emulator. Check if any run-virt.include still relies on
-# $macguestpart/$macaddr. If so, fix it to use its specific first 3 bytes
-# and append $macaddrssuffix
-macguestpart="00:50:56:${VM_ID}"
-machostpart=$(echo "${hostmacaddr}" | awk -F ":" '{print $(NF-1)":"$NF}')
-macaddr=$(echo "${macguestpart}:${machostpart}" | tr "[a-z]" "[A-Z]")
-macaddrsuffix=$(echo "${VM_ID}:${machostpart}" | tr "[a-z]" "[A-Z]")
-
-if ! echo "$macaddrsuffix" | grep -q -E '^[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}$'; then
- slxlog "virt-mac" "Could not properly generate mac address suffix (got $macaddrsuffix)"
-fi
-
-# Virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from virtualization.conf set then fdtest="TRUE"
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="$VMCHOOSER_DIR/data/loopimg/fd.img"
-# if $cdrom_0 from virtualization.conf set then cdtest="TRUE"
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from virtualization.conf set then cdtest="TRUE"
-cdtest=${cdrom_1:+"TRUE"}
-# if $cdtest not set cdrom1="FALSE", else "TRUE"
-cdrom1=${cdtest:-"FALSE"}
-# IDE is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-# TODO enable SCSI support instead of just disabling it.
-ide="TRUE"
-scsi="FALSE"
-hddrv="ide"
-audio="true"
-remotedesktopport="590${VM_ID}"
-
-
-# Enable 3D
-enable3d=$(grep -i -o "<enable3d param=.*" "${xmlfile}" | awk -F '"' '{print $2}' | rv_clean_string)
-
-# Add rw share for home dir
-homesharepath="${HOME}/PERSISTENT"
-homesharename="home"
-
-# Add common share
-commonsharepath="${HOME}/SHARE"
-commonsharename="share"
-
-# Set hostname: using original hostname and adding string
-hostname="virt-$(hostname)"
-
-writelog "\tVM Hostname:\t\t$hostname"
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc
deleted file mode 100644
index 5215eb2d..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-######################################################
-# Include: Declaration of run-virt default variables #
-######################################################
-
-VMCHOOSER_DIR="/opt/openslx/vmchooser"
-VMCHOOSER_CONF_DIR="$VMCHOOSER_DIR/config"
-LOGFILE="/var/log/openslx/run-virt.${USER}.$$.log"
-USER="$(whoami)"
-TMPDIR="/tmp/virt/${USER}/$$"
-
-readonly VMCHOOSER_DIR VMCHOOSER_CONF_DIR LOGFILE TMPDIR USER
-
-# include general configuration from vmchooser
-[ -f "$VMCHOOSER_CONF_DIR/vmchooser.conf" ] && . "$VMCHOOSER_CONF_DIR/vmchooser.conf"
-# load general virtualization information
-[ -f "$VMCHOOSER_CONF_DIR/virtualization.conf" ] && . "$VMCHOOSER_CONF_DIR/virtualization.conf"
-# Load general openslx config
-[ -f "/opt/openslx/config" ] && . "/opt/openslx/config"
-# Create temp dir
-mkdir -p "$TMPDIR" # TODO error out if failed
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc
deleted file mode 100644
index dd408b22..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc
+++ /dev/null
@@ -1,71 +0,0 @@
-###########################################################
-# Include: Setup dnbd for image access, nfs/cifs fallback #
-###########################################################
-
-writelog "Now in setup_image_access.inc ..."
-
-# Try to use dnbd3 to access the image
-unset vm_diskfile
-unset vm_revision
-unset dnbd3_fuse_mount_point
-unset dnbd3_tmplog
-if ! which dnbd3-fuse; then
- writelog "Can't use dnbd3 as dnbd3-fuse binary is not in PATH"
-elif [ -z "$SLX_DNBD3_SERVERS" ] || [ "x$SLX_VM_DNBD3" != "xyes" ]; then
- writelog "Can't use dnbd3 as no servers are given in config, or SLX_VM_DNBD3 is not set to yes"
-else
- # Mount path for images mounted with dnbd3-fuse
- dnbd3_fuse_mount_point="$TMPDIR/dnbd3fuse.mnt"
- mkdir -p "${dnbd3_fuse_mount_point}"
- # start dnbd3-fuse in subshell
- dnbd3_tmplog="$TMPDIR/dnbd3fuse.log"
- dnbd3_exitflag="$TMPDIR/dnbd3exit$RANDOM"
- rm -f -- "$dnbd3_exitflag"
- (
- dnbd3-fuse -f -o allow_other,max_readahead=262144 -h "$SLX_DNBD3_SERVERS" -i "${imgrelpath}" "${dnbd3_fuse_mount_point}" > "$dnbd3_tmplog" 2>&1
- RET=$?
- touch "$dnbd3_exitflag"
- if [ "$RET" != "0" ]; then
- writelog "dnbd3-fuse stopped working (Exit code $RET)"
- slxlog "virt-dnbd3-fuse" "dnbd3-fuse stopped/refused serving '${imgrelpath}' from '${SLX_DNBD3_SERVERS}' with error code: $RET" "${dnbd3_tmplog}"
- fi
- sleep 2
- rm -f -- "$dnbd3_tmplog" "$dnbd3_exitflag"
- ) &
- # give it a bit of time
- usleep 250000
- # check if we have the image
- for TIMEOUT in 0.5 1 1 OUT; do
- if [ -r "${dnbd3_fuse_mount_point}/img" ]; then
- vm_revision="$(grep -m 1 "^Revision:" "${dnbd3_fuse_mount_point}/status" | cut -d" " -f2)"
- vm_diskfile="${dnbd3_fuse_mount_point}/img"
- writelog "DNBD3: $imgrelpath on $vm_diskfile with rid $vm_revision"
- vmpath="$vm_diskfile"
- break
- fi
- [ "$TIMEOUT" = "OUT" -o -e "$dnbd3_exitflag" ] && break
- sleep "$TIMEOUT"
- done
-
- if [ -z "$vm_diskfile" ]; then
- slxlog "virt-dnbd3" "No dnbd3 server for ${imgrelpath} found, trying NFS/CIFS..." "$dnbd3_tmplog"
- writelog "No working dnbd3 server found :-("
- fi
-fi
-
-# $vm_diskfile will be empty if dnbd3 is not used or failed. Let's try to fall back to NFS/CIFS via file system
-if [ -z "$vm_diskfile" ]; then
- new_vmpath=$(ls "${vmpath}.r"* | grep -E -o '\.r[0-9]+$' | grep -o -E '[0-9]+' | sort -n | tail -n 1)
- [ -n "$new_vmpath" ] && vmpath="${vmpath}.r${new_vmpath}"
- vm_diskfile="$vmpath"
-fi
-
-# Check if virtual machine container file exists
-if ! [ -e "${vmpath}" ]; then
- slxlog "virt-image-missing" "VM image $vmpath not found!"
- writelog "Virtual machine image ${vmpath} not found!"
- cleanexit 1
-fi
-
-writelog "Virtual machine disk file: $vm_diskfile"
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc
deleted file mode 100644
index ee0b2c70..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-#####################################
-# Include: Setup printer daemon LPD #
-#####################################
-
-QUEUE="STANDARD" # This has to match the queue you configured in your VM
-SPOOLDIR=
-
-### Disabled: 100megs is not enough, some jobs are HUGE, try to use temp which should be on disk
-## Try using user's tmpfs home first, as it gets wiped on logout
-#if [ -n "${HOME}" ] && [ -w "${HOME}" ]; then
-# SPOOLDIR="${HOME}/.spool"
-# mkdir -p "${SPOOLDIR}/${QUEUE}"
-#fi
-# If failed, try to fall back to /tmp
-
-if [ -z "${SPOOLDIR}" ] || [ ! -w "${SPOOLDIR}/${QUEUE}" ]; then
- SPOOLDIR="${TMPDIR}/printergui-${RANDOM}"
- rm -rf -- "${SPOOLDIR}"
- if ! mkdir -p "${SPOOLDIR}/${QUEUE}"; then
- slxlog "virt-spooldir" "Could not create spool directory ($SPOOLDIR) for $USER - printing will not work!"
- # TODO: Warn user
- fi
- chmod 0700 "${SPOOLDIR}/${QUEUE}"
-fi
-
-# Start the lpdaemon listening on the given port
-# TODO: externalize with something like runvirt.d (other parts might benefit from that too)
-tcpsvd -E 192.168.101.1 5515 \
- lpd "$SPOOLDIR" \
- ash -c "/opt/openslx/scripts/run-virt_print '${USER}' \"${SPOOLDIR}/${QUEUE}/\$DATAFILE\"" &
-
-# PID to kill the process
-PID_LPD="$!"
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc
deleted file mode 100644
index 201c0ff5..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-########################
-# Include: Setup sound #
-########################
-# 8086:1e20: Sound card in bwPX4
-
-writelog "Starting sound setup ..."
-
-if lspci -n | grep -E -i '8086:1e20( |$)'; then
- VOL="100%" # bwPC 4: Speaker too quiet :-(
-else
- VOL="85%"
-fi
-
-if true; then
- # detecting which card is to be used
- writelog "Detecting which sound card to use ..."
- PROC="/proc/asound/cards"
- if [ ! -r "$PROC" ]; then
- writelog "'${PROC}' not found or not readable."
- SOUND_CARD_INDEX=0
- SOUND_CARD_COUNT=1
- else
- # Try to filter HDMI cards first
- SOUND_CARD_INDEX=$(grep -v -i 'HDMI' "${PROC}" | grep -E -o '^[[:space:]]{0,2}[0-9]+[[:space:]]+' | head -n 1)
- # If empty, try again with all
- [ -z "${SOUND_CARD_INDEX}" ] && SOUND_CARD_INDEX=$(cat "${PROC}" | grep -E -o '^[[:space:]]{0,2}[0-9]+[[:space:]]+' | head -n 1)
- if [ -z "${SOUND_CARD_INDEX}" ]; then
- writelog "No sound card found."
- SOUND_CARD_INDEX=0
- fi
- SOUND_CARD_COUNT=$(grep -E '^[[:space:]]{0,2}[0-9]+[[:space:]]+' "${PROC}" | wc -l)
- fi
-
- SOUND_CARD_INDEX="$(grep -E -o '[0-9]+' <<<$SOUND_CARD_INDEX)"
- writelog "Detected sound card index is: $SOUND_CARD_INDEX"
- writelog "Sound card count: $SOUND_CARD_COUNT"
-
- # Adjust sound volume (playback)... Random mixer names we have encountered during testing
- writelog "Setting up volume..."
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Master' "$VOL" unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'PCM' "$VOL" unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'CD' "$VOL" unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Headphone' "$VOL" unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Front' "$VOL" unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Speaker' "$VOL" unmute
- # Recording. It seems that (most) devices need the volume set to 0, so you
- # don't hear your own mic input, but should be unmuted. Also on some cards,
- # you need to set the cap option on the mic you want to use, while other cards
- # will just ignore that option.
- # Plus, most cards have a Capture mixer, which needs to be set to cap too, and
- # have its volume turned up. (There'll probably be some cards that need yet
- # another setup, but this works for now on 4 tested cards)
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Rear Mic Boost' "50%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Rear Mic' "0%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Front Mic Boost' "50%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Front Mic' "0%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Mic Boost' "50%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Mic' "0%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Capture' "100%" cap unmute
- amixer -q -c "$SOUND_CARD_INDEX" sset 'Input Source' 'Front Mic' # Let's hope nobody uses rear mic...
- # fix random static noise when starting vmplayer when module snd_pcsp (not pcspkr) is loaded
- amixer -q -c pcsp sset Master "0%" mute
- writelog "Done setting up volume."
-fi >> "${LOGFILE}" 2>&1
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc
deleted file mode 100644
index 4b8e10aa..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-##############################################
-# Include: Setup virtual floppy for drive b: #
-##############################################
-
-# Copy guest configuration (with added information) config.xml to be accessed
-# via virtual floppy
-cp "$xmlfile" "$VMCHOOSER_DIR/fd-loop/config.xml"
-
-# Add another file with resolution information
-xrandr | grep -o -E 'connected\s*(primary)?\s*[0-9]+x[0-9]+\+0\+0' | grep -o -E '[0-9]+x[0-9]+' | head -n 1 > "$VMCHOOSER_DIR/fd-loop/hostres.txt"
-
-# Add our magic openslx binary that sets the correct guest resolution
-cp "$VMCHOOSER_DIR/data/openslx.exe" "$VMCHOOSER_DIR/fd-loop/"
-cp "$VMCHOOSER_DIR/data/SHARELWS.BAT" "$VMCHOOSER_DIR/fd-loop/"
-rm "$VMCHOOSER_DIR/fd-loop/SHARELW.CFG"
-
-for SHARE in $(grep -o -E '^SLX_SHARE_.*_PATH' /opt/openslx/config); do
- eval "echo -n \$${SHARE} | /opt/openslx/bin/tr '/' '\' " >> "$VMCHOOSER_DIR/fd-loop/SHARELW.CFG"
- #eval echo -n " \$${SHARE%PATH}AUTH_PASS /user:\$${SHARE%PATH}AUTH_USER" >> "$VMCHOOSER_DIR/fd-loop/SHARELW.CFG"
- echo -e '\r\n' >> "$VMCHOOSER_DIR/fd-loop/SHARELW.CFG"
-done
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc
deleted file mode 100644
index b7bb8f01..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-##########################################################################
-# Include: Setup virtual machine hypervisor via vm-specific include file #
-##########################################################################
-
-# Get all virtual machine specific stuff from the respective include file
-if [ ! -e "$VMCHOOSER_DIR/$xmlvirt/run-virt.include" ] ; then
- # TODO: Tell user
- slxlog "virt-plugin-missing" "Could not find run-virt.include for $xmlvirt ($VMCHOOSER_DIR/$xmlvirt/run-virt.include)"
- writelog "Failed because of missing ${xmlvirt} plugin."
- cleanexit 1
-fi
-
- self="${xmlvirt}"
-
-# Now including the hypervisor specific include file:
-if ! source "$VMCHOOSER_DIR/$xmlvirt/run-virt.include"; then
- slxlog "virt-plugin-error" "run-virt.include for $xmlvirt could not be sourced (contains syntax errors?)" "$xmlvirt"
- writelog "Erroneous run-virt.include for $xmlvirt"
-fi
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/start_pvs.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/start_pvs.inc
deleted file mode 100644
index 90cd237b..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/start_pvs.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-#######################################################
-# Include: Starting PVS (Pool Video switch) if wanted #
-#######################################################
-
-# 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
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc
deleted file mode 100644
index 940f4ff3..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-####################################################
-# Include: Start windowmanager for easier handling #
-####################################################
-
-# Some problems may arise with windows opening in background when
-# using eg. vmware without a window manager.
-
-for dm in openbox kwin xfwm4 metacity blackbox twm fvwm2 ; do
- if which $dm >/dev/null 2>&1 ; then
- if [ "$dm" = "fvwm2" ] ; then
- echo "EdgeScroll 0 0" > ${redodir}/fvwm
- writelog "Starting fvwm2."
- fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 &
- else
- writelog "Starting ${dm}."
- $dm >/dev/null 2>&1 &
- fi
- break
- fi
-done
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc
deleted file mode 100644
index 9769c81d..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc
+++ /dev/null
@@ -1,77 +0,0 @@
-# Helper function that will scan /dev/bus/usb for devices matching specific classes
-# and then output the corresponding device ids. This can be used for selective
-# handover of devices to a virtual machine
-
-declare -rg PASSTHROUGH_USB_DEVICES="2 0:5 0:6 0:7 0:14 0:16 0:17"
-
-# $1: expression to fill with device information.
-# valid placeholders are:
-# %VENDOR% - device vendor id
-# %PRODUCT% - device product id
-# $2-n: device classes to include in output
-get_usb_devices_int() {
- [ -z "$TMPDIR" ] && TMPDIR="/tmp"
- local EXP=$1
- shift
- if [ -z "$EXP" ]; then
- writelog --quiet "No ouput expression template passed to get_usb_devices"
- cleanexit 1
- fi
- if [ $# -eq 0 ]; then
- writelog --quiet "No device classes given to get_usb_devices"
- cleanexit 1
- fi
- local MATCH=';'
- while [ $# -gt 0 ]; do
- MATCH+="$1;"
- [[ "$1" != *:* ]] && MATCH+="0:$1;"
- shift
- done
- local dev=
- local key value trailing
- trailing=
- local tmp="${TMPDIR}/lsusb.$$.$RANDOM"
- for dev in /dev/bus/usb/*/*; do
- if ! lsusb -D "$dev" > "$tmp" 2>/dev/null; then
- writelog --quiet "Cannot lsusb $dev"
- continue
- fi
- local DC=
- local OK=
- local VENDOR=
- local PRODUCT=
- while read -r key value trailing || [ -n "$key" ]; do
- if [[ "$key" == "idVendor" ]]; then
- [[ "$value" == 0x* ]] && VENDOR="${value:2}"
- elif [[ "$key" == "idProduct" ]]; then
- [[ "$value" == 0x* ]] && PRODUCT="${value:2}"
- elif [ -z "$DC" ]; then
- # No bDeviceClass seen yet
- if [[ "$key" == "bDeviceClass" ]]; then
- DC="$value"
- [[ "$MATCH" == *";${DC};"* ]] && OK=yo
- fi
- else
- # #DeviceClass is generic, look at sub class
- if [[ "$key" == "bInterfaceClass" ]]; then
- [[ "$MATCH" == *";${DC}:${value};"* ]] && OK=yo
- fi
- fi
- if [ -n "$OK" -a -n "$VENDOR" -a -n "$PRODUCT" ]; then
- echo "$EXP" | sed "s/%VENDOR%/${VENDOR}/g;s/%PRODUCT%/${PRODUCT}/g"
- break
- fi
- done < "$tmp"
- done
- rm -f -- "$tmp"
-}
-
-get_usb_devices() {
- if which lsusb 2>/dev/null >&2 && lsusb --help 2>&1 | grep -q -- '-D' 2>/dev/null; then
- [ $# -eq 1 ] && set -- "$1" $PASSTHROUGH_USB_DEVICES # no quotes here!
- get_usb_devices_int "$@" | sort -u
- else
- writelog --quiet "Cannot scan usb bus: lsusb not found or doesn't support -D"
- fi
-}
-
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc b/core/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc
deleted file mode 100644
index 1f09b3d2..00000000
--- a/core/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc
+++ /dev/null
@@ -1,48 +0,0 @@
-#######################################################
-# Include: Set functions needed by vmchooser-run_virt #
-#######################################################
-
-# function to write to stdout and logfile
-writelog() {
- local DATE=$(date +%Y-%m-%d-%H-%M-%S)
- # write to stdout?
- if [ "x$1" = "x--quiet" ]; then
- shift
- else
- echo -e "$DATE: $@"
- fi
- # log into file
- echo -e "$DATE: $@" >> "${LOGFILE}"
-}
-
-# Clean exit will be called at the end of vmchooser-run_virt
-cleanexit() {
- sleep 1
- # Ummount dnbd3-fuse
- if [ -n "$dnbd3_fuse_mount_point" ] && [ -e "$dnbd3_fuse_mount_point/img" ]; then
- for timeout in 1 1 1 FAIL; do
- fusermount -u "$dnbd3_fuse_mount_point" && break
- writelog "dnbd3 still busy...."
- [ "$timeout" = "FAIL" ] && break
- sleep "$timeout"
- done
- fi
- # Kill LPD
- [ -n "${PID_LPD}" ] && kill "${PID_LPD}"
-
- # If we're not in debug mode, remove all temporary files
- if [ -n "${TMPDIR}" -a -z "$SLX_DEBUG" ]; then
- rm -rf -- "${TMPDIR}"
- fi
-
- [ $# -gt 0 ] && exit "$1"
- exit 129 # No exit code was given :/
-}
-
-rv_clean_string() {
- if [ "$#" -ge 1 ]; then
- echo "$@" | tr '[A-Z]' '[a-z]' | tr -d -c '[a-z0-9\-]'
- else
- tr '[A-Z]' '[a-z]' | tr -d -c '[a-z0-9\-]'
- fi
-}
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env
index a86b2d0b..f53983ec 100755
--- a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env
+++ b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env
@@ -1,7 +1,7 @@
#!/bin/ash
# -----------------------------------------------------------------------------
-# Copyright (c) 2007..2013 - RZ Uni FR
-# Copyright (c) 2007..2013 - OpenSLX GmbH
+# Copyright (c) 2007..2016 - RZ Uni FR
+# Copyright (c) 2007..2016 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -14,6 +14,8 @@
# systemd-vmchooser_env
# - This is the preparation script for the configuration of the virtuali-
# zation tools used later on.
+# - This creates '$VMCHOOSER_CONF_DIR/virtualization.conf' that is later
+# evaluated by the runvirt script.
################################################################################
################################################################################
@@ -22,16 +24,22 @@
export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin
-# source config file with vars (e.g. ipaddr, macaddr, hostname)
+# source config file with vars (e.g. ipaddr, macaddr, HOSTNAME)
. /opt/openslx/config
# from plugins/vmchooser/XX_vmchooser.sh
VMCHOOSER_DIR="/opt/openslx/vmchooser"
-VMCHOOSER_CONF_DIR="$VMCHOOSER_DIR/config"
-DHCP_NAT_CONF="/opt/openslx/vmchooser/config/udhcpd-nat1.conf"
+VMCHOOSER_CONF_DIR="${VMCHOOSER_DIR}/config"
+VMCHOOSER_VIRT_CONF="${VMCHOOSER_CONF_DIR}/virtualization.conf"
+DHCP_NAT_CONF="${VMCHOOSER_CONF_DIR}/udhcpd-nat1.conf"
# setup more scratch space for virtual machines, if configured
-mkdir -p /tmp/virt /var/log/samba /run/samba
+for DIR in /tmp/virt /var/log/samba /run/samba; do
+ if ! mkdir -p "$DIR"; then
+ echo "Could not create '$DIR'!"
+ exit 1
+ fi
+done
chmod a+rwxt /tmp/virt
@@ -53,80 +61,76 @@ chmod a+rwxt /tmp/virt
#EOF
################################################################################
-### Determine hardware configuration
+### Determine host's hardware configuration
################################################################################
# estimate free mem
-mem_free=$(grep -i "^memfree:" /proc/meminfo | awk '{print $2}')
-mem_cached=$(grep -i "^cached:" /proc/meminfo | awk '{print $2}')
-mem_swapcached=$(grep -i "^swapcached:" /proc/meminfo | awk '{print $2}')
-[ -z "$mem_free" ] && mem_free="2048000"
-[ -z "$mem_cached" ] && mem_cached="0"
-[ -z "$mem_swapcached" ] && mem_swapcached="0"
-totalmem="$(expr $(expr $mem_free + $mem_cached + $mem_swapcached) / 1024)"
-echo "totalmem=${totalmem}" > "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+MEM_FREE=$(grep -i "^memfree:" /proc/meminfo | awk '{print $2}')
+MEM_CACHED=$(grep -i "^cached:" /proc/meminfo | awk '{print $2}')
+MEM_SWAPCACHED=$(grep -i "^swapcached:" /proc/meminfo | awk '{print $2}')
+[ -z "$MEM_FREE" ] && MEM_FREE="2048000"
+[ -z "$MEM_CACHED" ] && MEM_CACHED="0"
+[ -z "$MEM_SWAPCACHED" ] && MEM_SWAPCACHED="0"
+MEM_TOTAL="$(expr $(expr $MEM_FREE + $MEM_CACHED + $MEM_SWAPCACHED) / 1024)"
+echo "HOST_MEM_TOTAL=${MEM_TOTAL}" > "${VMCHOOSER_VIRT_CONF}"
# determine number of cpu cores
CPU_CORES=$(grep '^processor.*:' /proc/cpuinfo | wc -l)
if [ "${CPU_CORES}" -gt "1" 2>/dev/null ]; then
- echo "cpu_cores=${CPU_CORES}" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+ echo "CPU_CORES=${CPU_CORES}" >> "${VMCHOOSER_VIRT_CONF}"
else
- echo 'cpu_cores=1' >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+ echo 'CPU_CORES=1' >> "${VMCHOOSER_VIRT_CONF}"
fi
# general machine architecture (32/64bit)
-echo "host_arch=$(uname -m)" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+echo "HOST_ARCH=$(uname -m)" >> "${VMCHOOSER_VIRT_CONF}"
# check for VT enabled CPU
if grep -q '^flags.*\<vmx\>' "/proc/cpuinfo"; then
- echo "vtflag=1" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
- echo 'kvm_module="kvm_intel"' >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+ echo "VTFLAG=1" >> "${VMCHOOSER_VIRT_CONF}"
+ echo 'KVM_MODULE="kvm_intel"' >> "${VMCHOOSER_VIRT_CONF}"
elif grep -q '^flags.*\<svm\>' "/proc/cpuinfo"; then
- echo "vtflag=1" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
- echo 'kvm_module="kvm_amd"' >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+ echo "VTFLAG=1" >> "${VMCHOOSER_VIRT_CONF}"
+ echo 'KVM_MODULE="kvm_amd"' >> "${VMCHOOSER_VIRT_CONF}"
else
- echo "vtflag=0" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+ echo "VTFLAG=0" >> "${VMCHOOSER_VIRT_CONF}"
fi
# write mac
if [ -n "$SLX_PXE_MAC" ]; then
- hostmacaddr="${SLX_PXE_MAC}"
+ HOSTMACADDR="${SLX_PXE_MAC}"
else ## Fallback:
- hostmacaddr="$(ip a | grep ether | grep -o -E -i '([0-9a-f]{2}:){5}[0-9a-f]{2}' | head -n 1)"
+ HOSTMACADDR="$(ip a | grep ether | grep -o -E -i '([0-9a-f]{2}:){5}[0-9a-f]{2}' | head -n 1)"
fi
-echo "hostmacaddr='$hostmacaddr'" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+echo "HOSTMACADDR='$HOSTMACADDR'" >> "${VMCHOOSER_VIRT_CONF}"
# TODO: We should only generate the suffix here (last 3 octets) as the first 3 are
# dependant on the virtualizer/emulator. Check if any run-virt.include still relies on
-# $macguestpart/$macaddr. If so, fix it to use its specific first 3 bytes
-# and append $macaddrssuffix
-macaddrprefix='00:50:56'
-macaddrsuffix="$(echo "$hostmacaddr" | awk -F ":" '{print "%VMID%:" $(NF-1) ":" $NF}' | tr '[a-z]' '[A-Z]')"
-echo "macaddrprefix='$macaddrprefix'" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
-echo "macaddrsuffix='$macaddrsuffix'" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+# $macguestpart/$macaddr (now VM_MAC_ADDR). If so, fix it to use its specific first 3 bytes
+# and append $MACADDRSUFFIX. For now, keep MACADDRPREFIX as vmware's defaults and overwrite
+# it if needed.
+MACADDRPREFIX='00:50:56'
+MACADDRSUFFIX="$(echo "$HOSTMACADDR" | awk -F ":" '{print "%VMID%:" $(NF-1) ":" $NF}' | tr '[a-z]' '[A-Z]')"
+echo "MACADDRPREFIX='$MACADDRPREFIX'" >> "${VMCHOOSER_VIRT_CONF}"
+echo "MACADDRSUFFIX='$MACADDRSUFFIX'" >> "${VMCHOOSER_VIRT_CONF}"
# read in ip address
-echo "hostip=${SLX_PXE_CLIENT_IP}" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+echo "HOSTIP=${SLX_PXE_CLIENT_IP}" >> "${VMCHOOSER_VIRT_CONF}"
# hostname
-echo "hostname=\"$(hostname -s)\"" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+echo "HOSTNAME=\"$(hostname -s)\"" >> "${VMCHOOSER_VIRT_CONF}"
# get further hw information and check for traces of available optical and floppy drives
j=0
-for cdrom in $(dmesg|grep -i "Attached scsi CD-ROM sr" | sed "s,.*Attached scsi CD-ROM ,,"); do
- echo "cdrom_$j=/dev/${cdrom}" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+for CDROM in $(dmesg|grep -i "Attached scsi CD-ROM sr" | sed "s,.*Attached scsi CD-ROM ,,"); do
+ echo "CDROM_$j=/dev/${CDROM}" >> "${VMCHOOSER_VIRT_CONF}"
j=$(expr $j + 1)
done
j=0
-for floppy in $(dmesg|grep -i "Floppy drive"|sed "s,.*(s): ,,;s, is .*,,"); do
- echo "floppy_$j=/dev/${floppy}" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
+for FLOPPY in $(dmesg|grep -i "Floppy drive"|sed "s,.*(s): ,,;s, is .*,,"); do
+ echo "FLOPPY_$j=/dev/${FLOPPY}" >> "${VMCHOOSER_VIRT_CONF}"
j=$(expr $j + 1)
done
-# Serial ports
-echo "serial_ports='$(dmesg | grep -Eo 'ttyS[0-9]+' | sed 's,^,/dev/,' | tr '\n' ' ')'" >> "${VMCHOOSER_CONF_DIR}/virtualization.conf"
-# Parallel ports
-modprobe parport_pc
-
################################################################################
### Setup VM networking
################################################################################
@@ -175,7 +179,7 @@ done
sed -i "s#%DNSSERVER%#${SLX_DNS}#;s#%DOMAIN%#${SLX_NET_DOMAIN}#;s#%SEARCH%#${SLX_NET_SEARCH}#" "${DHCP_NAT_CONF}"
# Make sure the primary vm running (we most likely never run more than one at a time anyways) always gets the same ip
-echo "static_lease $(echo "$macaddrprefix:$macaddrsuffix" | sed 's/%VMID%/01/') 192.168.101.20" >> "${DHCP_NAT_CONF}"
+echo "static_lease $(echo "$MACADDRPREFIX:$MACADDRSUFFIX" | sed 's/%VMID%/01/') 192.168.101.20" >> "${DHCP_NAT_CONF}"
mkdir -p /var/lib/udhcpd
udhcpd -S "${DHCP_NAT_CONF}"