summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2016-10-19 15:07:25 +0200
committerSimon Rettberg2016-10-19 15:07:25 +0200
commit7c70ebde186c9589bd6e56f04d9f9bab682a3c14 (patch)
treea50105db62d13275dfacb774a15c51cdea76bcfc
parent[vmware/run-virt] Try to rename includes to what they actually do (diff)
downloadtm-scripts-7c70ebde186c9589bd6e56f04d9f9bab682a3c14.tar.gz
tm-scripts-7c70ebde186c9589bd6e56f04d9f9bab682a3c14.tar.xz
tm-scripts-7c70ebde186c9589bd6e56f04d9f9bab682a3c14.zip
[run-virt] More cleanup; kill legacy support, rename and move includes, kill dead code
-rwxr-xr-xremote/modules/run-virt/data/opt/openslx/scripts/includes/TEST.sh6
-rw-r--r--remote/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc13
-rw-r--r--remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc26
-rw-r--r--remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc50
-rw-r--r--remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc120
-rw-r--r--remote/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc12
-rw-r--r--remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc87
l---------[-rwxr-xr-x]remote/modules/run-virt/data/opt/openslx/scripts/vmchooser-run_virt116
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/check_runvirt_needed_files.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/detect_legacy.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/get_xml_file_variables.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/set_runvirt_hardware_variables.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/set_runvirt_variables.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_firewall.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_firewall.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_image_access.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_printer_lpd.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc)13
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_sound.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc)1
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_virtual_floppy.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_vm_hypervisor.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc)22
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/start_windowmanager.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/usb_detector.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc)0
-rw-r--r--remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/vmchooser_runvirt_functions.inc (renamed from remote/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc)3
-rwxr-xr-xremote/modules/run-virt/data/opt/openslx/vmchooser/vmchooser-run_virt116
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc316
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc62
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc64
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc152
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc29
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include35
29 files changed, 225 insertions, 1018 deletions
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/TEST.sh b/remote/modules/run-virt/data/opt/openslx/scripts/includes/TEST.sh
deleted file mode 100755
index fd5f755d..00000000
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/TEST.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-. usb_detector.inc
-
-get_usb_devices "bla=%VENDOR% kacke=%PRODUCT%" 0:6 0:7 0:e 0:10
-
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc b/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc
deleted file mode 100644
index cfaf811e..00000000
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_lpd.inc
+++ /dev/null
@@ -1,13 +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"
- notify_user "Durcksystem" "Das Drucksystem konnte nicht initialisiert werden. Druckfunktion nicht verfügbar."
-fi
-
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc b/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc
deleted file mode 100644
index 0e720a06..00000000
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_xml_sanity_legacy.inc
+++ /dev/null
@@ -1,26 +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"
- error_user "Die XML-Datei der gewählten Sitzung ist nicht lesbar oder existiert nicht"
- 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"
- error_user "Die XML-Datei der gewählten Sitzung hat ein ungültiges Format"
- exit 1
-fi
-
-# check for running in graphical environment otherwise no much use here
-if [ -z "$DISPLAY" ]; then
- writelog -e "\n\tStart only within a graphical desktop!\n"
- exit 1
-fi
-
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc b/remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_dir_legacy.inc
deleted file mode 100644
index c3c6f7b3..00000000
--- a/remote/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/remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc b/remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables_legacy.inc
deleted file mode 100644
index 3fdc06d2..00000000
--- a/remote/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/remote/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc b/remote/modules/run-virt/data/opt/openslx/scripts/includes/print_runvirt_console_logo.inc
deleted file mode 100644
index 649cf956..00000000
--- a/remote/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/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc b/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc
deleted file mode 100644
index 05d55f00..00000000
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables_legacy.inc
+++ /dev/null
@@ -1,87 +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"}
-# 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/remote/modules/run-virt/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/run-virt/data/opt/openslx/scripts/vmchooser-run_virt
index ea3cfe8e..447f98bc 100755..120000
--- a/remote/modules/run-virt/data/opt/openslx/scripts/vmchooser-run_virt
+++ b/remote/modules/run-virt/data/opt/openslx/scripts/vmchooser-run_virt
@@ -1,115 +1 @@
-#!/bin/bash
-# Full bash required
-# -----------------------------------------------------------------------------
-# Copyright (c) 2007..2010 - RZ Uni FR
-# Copyright (c) 2007..2013 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# run-virt.sh
-# - This is the generic wrapper for the several virtualization solutions.
-# The idea is to setup a set of variables used by at least two different
-# tools and then include the specific plugin which configures the speci-
-# fied virtualization tool.
-################################################################################
-
-RUNVIRTINCLUDEDIR=/opt/openslx/scripts/includes
-xmlfile="$1"
-
-# Functions needed by vmchooser-run_virt (writelog(), cleanexit(), rv_clean_string())
-source ${RUNVIRTINCLUDEDIR}/vmchooser_runvirt_functions.inc && trap 'trap "" SIGINT SIGTERM; cleanexit' SIGINT SIGTERM
-# Define default dirs / get configs
-source ${RUNVIRTINCLUDEDIR}/set_runvirt_variables.inc
-# Function to detect whether we can use the new way (vmx via http) or the old way (legacy):
-source ${RUNVIRTINCLUDEDIR}/detect_legacy.inc # This yields LEGACY, IMGUUID, IMGVMX
-# For scanning for certain usb classes
-source "${RUNVIRTINCLUDEDIR}/usb_detector.inc"
-
-if [ "$LEGACY" ]; then
- # check for important files used (filecheck()) - vestigial?
- source ${RUNVIRTINCLUDEDIR}/check_runvirt_needed_files.inc
- # Get XML file and dir, legacy (old way)
- source ${RUNVIRTINCLUDEDIR}/get_xml_file_dir_legacy.inc # xmlfile=$1
- # xml file sanity checks, legacy
- source ${RUNVIRTINCLUDEDIR}/check_runvirt_xml_sanity_legacy.inc
- # print console logo
- source ${RUNVIRTINCLUDEDIR}/print_runvirt_console_logo.inc
- # Read needed variables from XML file
- source ${RUNVIRTINCLUDEDIR}/get_xml_file_variables_legacy.inc
- # Declaration of hardware relatedt variables
- source ${RUNVIRTINCLUDEDIR}/set_runvirt_hardware_variables_legacy.inc
- # Sound setup the rest of the environment and run the configured vm
- source ${RUNVIRTINCLUDEDIR}/setup_sound.inc
- # Start printer daemon
- source ${RUNVIRTINCLUDEDIR}/setup_printer_lpd.inc
- # Setup virtual floppy b: for windows guests with config.xml, openslx.exe etc.
- source ${RUNVIRTINCLUDEDIR}/setup_virtual_floppy.inc
- # Try to use dnbd3 to access the image, nfs/cifs fallback
- source ${RUNVIRTINCLUDEDIR}/setup_image_access.inc
- # Get all virtual machine specific stuff from the respective include file
- source ${RUNVIRTINCLUDEDIR}/setup_vm_hypervisor.inc
- # start a windowmanager for easier handling
- source ${RUNVIRTINCLUDEDIR}/start_windowmanager.inc
- # Check if tcpsvd is running. Do not check immediately after spawning,
- # as this could result in success even if it's not really working.
- source ${RUNVIRTINCLUDEDIR}/check_lpd.inc
-else
- # check for important files used (filecheck()) - vestigial?
- # This include does not currently work. TODO.
- # source ${RUNVIRTINCLUDEDIR}/check_runvirt_needed_files.inc && filecheck
-
- # Firewall
- source "${RUNVIRTINCLUDEDIR}/setup_firewall.inc" || writelog "Could not source setup_firewall"
- setup_firewall || writelog "Could not run setup_firewall"
-
- # Read needed variables from XML file
- source ${RUNVIRTINCLUDEDIR}/get_xml_file_variables.inc
-
- # Sound setup the rest of the environment and run the configured vm
- source ${RUNVIRTINCLUDEDIR}/setup_sound.inc
-
- # Declaration of hardware relatedt variables
- source ${RUNVIRTINCLUDEDIR}/set_runvirt_hardware_variables.inc
-
- # Start printer daemon
- source ${RUNVIRTINCLUDEDIR}/setup_printer_lpd.inc
-
- # Setup virtual floppy b: for windows guests with config.xml, openslx.exe etc.
- source ${RUNVIRTINCLUDEDIR}/setup_virtual_floppy.inc
-
- # Get all virtual machine specific stuff from the respective include file
- source ${RUNVIRTINCLUDEDIR}/setup_image_access.inc
-
- # start a windowmanager for easier handling
- source ${RUNVIRTINCLUDEDIR}/setup_vm_hypervisor.inc
-
- # Try to use dnbd3 to access the image, nfs/cifs fallback
- source ${RUNVIRTINCLUDEDIR}/start_windowmanager.inc
-
- # Check if tcpsvd is running. Do not check immediately after spawning,
- # as this could result in success even if it's not really working.
- source ${RUNVIRTINCLUDEDIR}/check_lpd.inc
-
-fi
-
-# This will start the VM
-writelog "VM command: eval ${VIRTCMD} ${VIRTCMDOPTS}"
-
-# Transported from vmware-runvirt include
-sync
-
-eval ${VIRTCMD} ${VIRTCMDOPTS}
-writelog "Bye."
-
-# Postrun for commands after virtualization finishes
-if [ -n "${POSTRUN}" ]; then
- eval ${POSTRUN} >/dev/null 2>&1
-fi
-
-cleanexit 0
+/opt/openslx/vmchooser/vmchooser-run_virt \ No newline at end of file
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/check_runvirt_needed_files.inc
index fbb0bc70..fbb0bc70 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/check_runvirt_needed_files.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/check_runvirt_needed_files.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/detect_legacy.inc
index 8bdfd8b1..8bdfd8b1 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/detect_legacy.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/detect_legacy.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/get_xml_file_variables.inc
index b7ed648c..b7ed648c 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/get_xml_file_variables.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/get_xml_file_variables.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/set_runvirt_hardware_variables.inc
index 9a46bc88..9a46bc88 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_hardware_variables.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/set_runvirt_hardware_variables.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/set_runvirt_variables.inc
index 4c4ccf1d..4c4ccf1d 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/set_runvirt_variables.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/set_runvirt_variables.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_firewall.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_firewall.inc
index f0820ed7..f0820ed7 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_firewall.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_firewall.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_image_access.inc
index 3c4ed330..3c4ed330 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_image_access.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_image_access.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_printer_lpd.inc
index ee0b2c70..2fb9310a 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_printer_lpd.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_printer_lpd.inc
@@ -31,3 +31,16 @@ tcpsvd -E 192.168.101.1 5515 \
# PID to kill the process
PID_LPD="$!"
+
+{
+ sleep 2
+ # Check if tcpsvd is running. Do this a little delayed 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"
+ notify_user "Durcksystem" "Das Drucksystem konnte nicht initialisiert werden. Druckfunktion nicht verfügbar."
+ fi
+} &
+
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_sound.inc
index 201c0ff5..6230aa3a 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_sound.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_sound.inc
@@ -1,3 +1,4 @@
+#!/bin/bash <-- Add shebang even though it's sourced so vim highlights bash specific features properly
########################
# Include: Setup sound #
########################
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_virtual_floppy.inc
index d9ae052c..d9ae052c 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_virtual_floppy.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_virtual_floppy.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_vm_hypervisor.inc
index 33fd363b..ce15524f 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/setup_vm_hypervisor.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/setup_vm_hypervisor.inc
@@ -11,12 +11,24 @@ if [ ! -e "$VMCHOOSER_DIR/$xmlvirt/run-virt.include" ] ; then
cleanexit 1
fi
- self="${xmlvirt}"
+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"
+if ! bash -n "$VMCHOOSER_DIR/$xmlvirt/run-virt.include"; then
+ slxlog "virt-plugin-syntax" "run-virt.include for $xmlvirt contains syntax errors (bash -n run-virt.include failed)"
+ writelog "Erroneous run-virt.include for $xmlvirt (syntax check)"
error_user "Das Start-Script für den Virtualisierer '$xmlvirt' ist fehlerhaft.
Starten Sie den Computer neu und wenden Sie sich an den Support, wenn das Problem weiterhin besteht."
+ cleanexit 1
fi
+
+setup_vm_commandline () {
+ # 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 properly."
+ writelog "Erroneous run-virt.include for ${xmlvirt}? Source returned != 0"
+ error_user "Das Start-Script für den Virtualisierer '$xmlvirt' hat einen fehlercode zurückgegeben.
+ Starten Sie den Computer neu, falls es beim Ausführen der VM zu Problemen kommt
+ und wenden Sie sich an den Support, wenn das Problem weiterhin besteht."
+ fi
+}
+
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/start_windowmanager.inc
index da43f341..da43f341 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/start_windowmanager.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/start_windowmanager.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/usb_detector.inc
index a2d442e4..a2d442e4 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/usb_detector.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/usb_detector.inc
diff --git a/remote/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/vmchooser_runvirt_functions.inc
index af9758e2..c0d17dbe 100644
--- a/remote/modules/run-virt/data/opt/openslx/scripts/includes/vmchooser_runvirt_functions.inc
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/run-virt-includes/vmchooser_runvirt_functions.inc
@@ -36,6 +36,9 @@ $*"
TITLE="ERROR"
BODY="$TOPIC"
fi
+ # Zenity should yield the nicest result
+ zenity --error --title "$TITLE" --text "$BODY" && return
+ # QnD abuse printergui for error message as it's blocking
/opt/openslx/cups/printergui --error "$MSG" && return
# printergui might not exist, try fallback here
# unfortunately, i can only think of notify+sleep right now
diff --git a/remote/modules/run-virt/data/opt/openslx/vmchooser/vmchooser-run_virt b/remote/modules/run-virt/data/opt/openslx/vmchooser/vmchooser-run_virt
new file mode 100755
index 00000000..10943c51
--- /dev/null
+++ b/remote/modules/run-virt/data/opt/openslx/vmchooser/vmchooser-run_virt
@@ -0,0 +1,116 @@
+#!/bin/bash
+# Full bash required
+# -----------------------------------------------------------------------------
+# Copyright (c) 2007..2010 - RZ Uni FR
+# Copyright (c) 2007..2013 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# run-virt.sh
+# - This is the generic wrapper for the several virtualization solutions.
+# The idea is to setup a set of variables used by at least two different
+# tools and then include the specific plugin which configures the speci-
+# fied virtualization tool.
+################################################################################
+
+RUNVIRTINCLUDEDIR=/opt/openslx/vmchooser/run-virt-includes
+xmlfile="$1"
+
+# Functions needed by vmchooser-run_virt (writelog(), cleanexit(), rv_clean_string())
+if ! source "${RUNVIRTINCLUDEDIR}/vmchooser_runvirt_functions.inc"; then
+ slxlog "run-virt" "Could not source ${RUNVIRTINCLUDEDIR}/vmchooser_runvirt_functions.inc"
+ exit 1
+fi
+
+trap 'trap "" SIGINT SIGTERM; cleanexit' SIGINT SIGTERM
+# Define default dirs / get configs
+source "${RUNVIRTINCLUDEDIR}/set_runvirt_variables.inc"
+# Function to detect whether we can use the new way (vmx via http) or the old way (legacy):
+source "${RUNVIRTINCLUDEDIR}/detect_legacy.inc" # This yields LEGACY, IMGUUID, IMGVMX
+
+if [ "$LEGACY" ]; then
+
+ # No longer supported - yay
+
+ error_user "Legacy Mode" "
+Die gewählte VM ist eine 'Legacy VM', für die unvollständige
+Metadaten auf dem bwLehrpool-Server hinterlegt sind. Diese
+werden nicht mehr unterstützt. Um diese VM weiterhin nutzen
+zu können, muss sie mittels der bwLehrpool-Suite heruntergeladen,
+einmal gebootet, und wieder hochgeladen werden.
+(Bei der Gelegenheit könnten z.B. auch gleich anfallende Updates
+eingespielt werden.)
+"
+ cleanexit 1
+
+ # End legacy warning
+fi
+
+# Proper meta data received - proceed normally
+
+# check for important files used (filecheck()) - vestigial?
+# This include does not currently work. TODO.
+# source ${RUNVIRTINCLUDEDIR}/check_runvirt_needed_files.inc && filecheck
+
+# Read needed variables from XML file
+source ${RUNVIRTINCLUDEDIR}/get_xml_file_variables.inc
+
+# Helper that looks for virtualizer-specific include, show error to user if not found
+source "${RUNVIRTINCLUDEDIR}/setup_vm_hypervisor.inc"
+
+# For scanning for certain usb classes
+source "${RUNVIRTINCLUDEDIR}/usb_detector.inc"
+
+# Firewall
+source "${RUNVIRTINCLUDEDIR}/setup_firewall.inc" || writelog "Could not source setup_firewall"
+setup_firewall || writelog "Could not run setup_firewall"
+
+# Sound setup
+source ${RUNVIRTINCLUDEDIR}/setup_sound.inc
+
+# Declaration of hardware relatedt variables
+source ${RUNVIRTINCLUDEDIR}/set_runvirt_hardware_variables.inc
+
+# Start printer daemon
+source ${RUNVIRTINCLUDEDIR}/setup_printer_lpd.inc
+
+# Setup virtual floppy b: for windows guests with config.xml, openslx.exe etc.
+source ${RUNVIRTINCLUDEDIR}/setup_virtual_floppy.inc
+
+# Try to use dnbd3 to access the image, nfs/cifs fallback
+source ${RUNVIRTINCLUDEDIR}/setup_image_access.inc
+
+# Window manager required for handling of popups etc.
+source ${RUNVIRTINCLUDEDIR}/start_windowmanager.inc
+
+# Source run-virt.include of virtualizer
+setup_vm_commandline
+
+# It should have set this variable if all went well
+if [ -z "${VIRTCMD}" ]; then
+ error_user "Fehler beim Starten der VM-Sitzung" "
+Das Start-Script für den Virtualisierer $xmlvirt hat kein Kommando
+zum Starten der Sitzung definiert. Kann Sitzung nicht initialisieren."
+ slxlog "virt-plugin-error" "run-virt.include for $xmlvirt did not set VIRTCMD"
+ cleanexit 1
+fi
+
+writelog "VM command: eval ${VIRTCMD} ${VIRTCMDOPTS}"
+# This will start the VM
+eval ${VIRTCMD} ${VIRTCMDOPTS}
+
+writelog "Virtualizer exited. Bye."
+
+# Postrun for commands after virtualization finishes
+if [ -n "${POSTRUN}" ]; then
+ eval ${POSTRUN} >/dev/null 2>&1
+fi
+
+cleanexit 0
+
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc
deleted file mode 100644
index df6e6f39..00000000
--- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc
+++ /dev/null
@@ -1,316 +0,0 @@
-########################################
-# Include: Create vmware startup files #
-########################################
-
-create_vmware_config_file_legacy() {
- echo "# This configuration file was generated by $0" > "$conffile"
-
- MAXMEM="9999999"
- MAXCORES="4"
- shfolders="TRUE"
- sound="es1371"
-
- # define hardware configuration depending on the guest OS used
- # this needs to be fixed and is the base for the creation of new VMs
- case "$vmostype" in
- win31*|windows31*)
- vmostype="win31"
- shfolders="FALSE"
- sound="sb16"
- MAXMEM="32"
- MAXCORES="1"
- ;;
- winnt*|windowsnt*)
- vmostype="winnt"
- shfolders="FALSE"
- sound="sb16"
- MAXMEM="1000"
- MAXCORES="2"
- ;;
- win95*|windows95*)
- vmostype="win95"
- shfolders="FALSE"
- MAXMEM="96"
- MAXCORES="1"
- ;;
- win98*|windows98*)
- vmostype="win98"
- MAXMEM="256"
- MAXCORES="1"
- ;;
- winme*|windowsme*)
- vmostype="winme"
- MAXMEM="384"
- MAXCORES="1"
- ;;
- win2000|windows2000|win2000pro*)
- vmostype="win2000pro"
- MAXMEM="4000"
- MAXCORES="2"
- ;;
- win2000srv*|windows2000srv*|win2000serv*|windows2000serv*)
- vmostype="win2000serv"
- shfolders="FALSE"
- MAXMEM="4000"
- MAXCORES="4"
- ;;
- win2000adv*|windows2000adv*|win2000dat*|windows2000dat*)
- vmostype="win2000advserv"
- shfolders="FALSE"
- MAXMEM="8000"
- MAXCORES="8"
- ;;
- winnet*64|win*2003*64|windowsnet*64)
- vmostype="winnetstandard-64"
- MAXMEM="8000"
- ;;
- winnet*|win*2003*|windowsnet*)
- vmostype="winnetstandard"
- MAXMEM="4000"
- ;;
- winxphome*|windowsxphome*)
- vmostype="winxphome"
- MAXMEM="4000"
- MAXCORES="1"
- ;;
- winxp*64|windowsxp*64)
- vmostype="winxppro-64"
- MAXMEM="8000"
- MAXCORES="2"
- ;;
- winxp*|windowsxp*)
- vmostype="winxppro"
- MAXMEM="4000"
- MAXCORES="1"
- ;;
- winvista*64|windowsvista*64)
- vmostype="winvista-64"
- MAXMEM="16000"
- MAXCORES="2"
- ;;
- winvista*|windowsvista*)
- vmostype="winvista"
- MAXMEM="8000"
- MAXCORES="2"
- ;;
- win7*64|windows7*64)
- vmostype="windows7-64"
- MAXMEM="32000"
- MAXCORES="4"
- ;;
- win7*|windows7*)
- vmostype="windows7"
- MAXMEM="8000"
- MAXCORES="4"
- ;;
- win8*64|windows8*64)
- vmostype="windows8-64"
- MAXMEM="32000"
- MAXCORES="4"
- ;;
- win8*|windows8*)
- vmostype="windows8"
- MAXMEM="8000"
- MAXCORES="4"
- ;;
- win*64)
- MAXMEM="16000"
- MAXCORES="4"
- ;;
- win*)
- MAXMEM="8000"
- ;;
- dos|msdos*|ms-dos*)
- vmostype="dos"
- shfolders="FALSE"
- MAXMEM="128"
- ;;
- macos*64)
- vmostype="freebsd-64"
- MAXMEM="4000"
- MAXCORES="2"
- ;;
- macos*)
- vmostype="freebsd"
- MAXMEM="4000"
- MAXCORES="1"
- ;;
- beos*)
- vmostype="other"
- shfolders="FALSE"
- ;;
- # Unknown guestOS setting in .xml - use conservative defaults
- *64)
- vmostype="other-64"
- shfolders="FALSE"
- MAXMEM="123456"
- MAXCORES="4"
- ;;
- *)
- vmostype="other"
- shfolders="FALSE"
- MAXMEM="8000"
- MAXCORES="1"
- ;;
- esac
- real_core_count="$cpu_cores"
- [ "$cpu_cores" -gt "$MAXCORES" ] && cpu_cores="$MAXCORES"
- # It currently makes no sense to set the virtual number of cores
- # to a different value than the virtual number of cores per virtual CPU.
- cores_per_socket="$cpu_cores"
-
- if [ "x$shfolders" != "xFALSE" ] && [ "$SHARE_REMAP_MODE" != 1 ]; then
- enable_share='sharedFolder.option = "alwaysEnabled"'
- HGFS_DISABLED="FALSE"
- else
- enable_share=
- HGFS_DISABLED="TRUE"
- fi
-
- [ "$mem" -ge "$MAXMEM" ] && mem="$MAXMEM"
- [ "$hwver" -lt "7" -a "$mem" -gt "3500" ] && mem="3500"
-
- if [ -n "$FLOPPYIMG" ]; then
- floppy1="TRUE"
- else
- floppy1="FALSE"
- fi
-
- cat >> "$conffile" <<-HEREEND
- .encoding = "UTF-8"
- config.version = "8"
-
- # general hardware (ehci, 3d accel)
- ehci.present = "TRUE"
- $FORCE3D
- mks.enable3d = "$enable3d"
-
- monitor.virtual_mmu = "automatic"
- monitor.virtual_exec = "automatic"
-
- # id
- virtualHW.version = "$hwver"
- displayName = "$displayname"
- guestOS = "$vmostype"
-
- # CPU/MEM
- numvcpus = "$cpu_cores"
- cpuid.coresPerSocket = "$cores_per_socket"
- maxvcpus = "$real_core_count"
- memsize = "$mem"
- MemAllowAutoScaleDown = "FALSE"
- MemTrimRate = "-1"
-
- # ide-disks
- ide0:0.present = "$ide"
- ide0:0.fileName = "$vm_diskfile"
- ## Edited for persistent mode.
- ide0:0.mode = "independent-${diskmode}"
- ##
- ide1:0.present = "$cdrom0"
- ide1:0.autodetect = "TRUE"
- ide1:0.fileName = "auto detect"
- ide1:0.deviceType = "cdrom-raw"
- ide1:1.present = "$cdrom1"
- ide1:1.autodetect = "TRUE"
- ide1:1.fileName = "auto detect"
- ide1:1.deviceType = "cdrom-raw"
-
- # scsi-disks
- scsi0.present = "$scsi"
- scsi0:0.present = "$scsi"
- scsi0:0.fileName = "$vm_diskfile"
- scsi0.virtualDev = "$hddrv"
- ## Edited for persistent mode.
- scsi0:0.mode = "independent-${diskmode}"$stateFileConfiguration
- ##
-
- # floppies
- floppy0.present = "$floppy0"
- floppy0.startConnected = "TRUE"
- floppy0.autodetect = "TRUE"
- floppy0.fileName = "auto detect"
-
- # we need floppy b: for the client configuration
- floppy1.present = "$floppy1"
- floppy1.readonly = "TRUE"
- floppy1.startConnected = "TRUE"
- floppy1.fileType = "file"
- floppy1.fileName = "$FLOPPYIMG"
-
- # nics
- ethernet0.present = "TRUE"
- ethernet0.addressType = "static"
- $network_virtualDev
- #ethernet0.connectionType = "hostonly"
- ethernet0.connectionType = "custom"
- ethernet0.vnet = "$hostdev"
- ethernet0.address = "00:50:56:$macaddrsuffix"
- ethernet0.wakeOnPcktRcv = "FALSE"
-
- # sound
- sound.present = "TRUE"
- $sound_fileName
- sound.virtualdev = "$sound"
- pciSound.enableVolumeControl = "FALSE"
- sound.enableVolumeControl = "FALSE"
-
- # svga
- svga.autodetect = "TRUE"
-
- # usb
- usb.present = "TRUE"
- usb.generic.autoconnect = "TRUE"
-
- # pci configuration
- usb.pciSlotNumber = "16"
- ethernet0.pciSlotNumber = "17"
- sound.pciSlotNumber = "18"
- ehci.pciSlotNumber = "19"
- scsi0.pciSlotNumber = "20"
-
- $PCIE
-
- # shared folders
- $enable_share
- sharedFolder0.present = "$shfolders"
- sharedFolder0.enabled = "$shfolders"
- sharedFolder0.expiration = "never"
- sharedFolder0.guestName = "$homesharename"
- sharedFolder0.hostPath = "$homesharepath"
- sharedFolder0.readAccess = "TRUE"
- sharedFolder0.writeAccess = "TRUE"
- sharedFolder1.present = "$shfolders"
- sharedFolder1.enabled = "$shfolders"
- sharedFolder1.expiration = "never"
- sharedFolder1.guestName = "$commonsharename"
- sharedFolder1.hostPath = "$commonsharepath"
- sharedFolder1.readAccess = "TRUE"
- sharedFolder1.writeAccess = "TRUE"
- sharedFolder.maxNum = "2"
-
- # dirs/configs
- tmpDirectory = "$redodir"
- redoLogDir = "$redodir"
- mainMem.useNamedFile = "TRUE"
- snapshot.disabled = "TRUE"
- tools.syncTime = "TRUE"
- isolation.tools.hgfs.disable = "$HGFS_DISABLED"
- hgfs.mapRootShare = "TRUE"
- isolation.tools.dnd.disable = "FALSE"
- isolation.tools.copy.enable = "TRUE"
- isolation.tools.paste.enabled = "TRUE"
-
- # serial port
- serial0.present = "$serial"
- $serialdev
-
- # parallel port
- parallel0.present = "$parallel"
- parallel0.bidirectional = "$paralbidi"
- $paraldev
- HEREEND
-
- # set the appropriate permissions for the vmware config file
- chmod u+rwx "${conffile}" >/dev/null 2>&1
-}
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc
new file mode 100644
index 00000000..f7f09c65
--- /dev/null
+++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc
@@ -0,0 +1,62 @@
+##################################################
+# Include: Print vm config summary into log file #
+##################################################
+
+# log script information
+writelog "# File created by $0 (VMware version ${vmware_version})\n# on $(date)\n"
+## Edited for persistent mode.
+writelog "Starting with ${diskmode} mode ...\n"
+##
+
+# write all results to logfile
+# log disksetup
+writelog "Directories:"
+writelog "\tConfdir:\t${confdir}"
+writelog "\tConffile:\t${conffile}"
+writelog "\tRedodir:\t${redodir}"
+writelog "\tVMhome:\t\t${vmhome}"
+writelog "\t/tmp info: $(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')"
+# hw setup
+writelog "Hardware:"
+writelog "\tMAC:\t\t$macaddr"
+if [ -n "${network_card}" ]; then
+ writelog "\tNet Adaptor:\t${network_card}"
+fi
+writelog "\tMem:\t\t${mem} MB"
+
+# echo nur wenn hostmem gesetzt
+[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB"
+writelog "\tMax. res.:\t${xres}x${yres}"
+writelog "\tCD-ROM1:\t${cdrom0}"
+writelog "\tCD-ROM2:\t${cdrom1}"
+writelog "\tFloppy_A:\t${floppy0}"
+if [ "${serial}" = "TRUE" ]; then
+ writelog "\tSerial Port:\t${serialdev}"
+fi
+if [ "${parallel}" = "TRUE" ]; then
+ writelog "\tParallel Port:\t${paraldev}"
+fi
+
+writelog "Shared folders:"
+if [ "${HGFS_DISABLED}" = "FALSE" ]; then
+ writelog "\tNo shared folders enabled."
+else
+ writelog "\Shared folders enabled."
+fi
+
+# image
+writelog "Diskimage:"
+writelog "\tDiskfile:\t${diskfile}"
+writelog "\tDisktype:\t${hddrv}"
+writelog "\tHWVersion:\t${hwver}"
+writelog "\tVMostype:\t${vmostype}"
+
+# misc
+writelog "Misc:"
+writelog "\tDisplayname:\t${displayname}"
+if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then
+ writelog "\t3D Graphics:\tenabled"
+fi
+# empty line at end
+writelog ""
+
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc
deleted file mode 100644
index f7ee634a..00000000
--- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################
-# Include: Logging and stdout #
-###############################
-
-logging() {
- # log script information
- writelog "# File created by $0 (VMware version ${vmware_version})\n# on $(date)\n"
- ## Edited for persistent mode.
- writelog "Starting with ${diskmode} mode ...\n"
- ##
-
- # write all results to logfile
- # log disksetup
- writelog "Directories:"
- writelog "\tConfdir:\t${confdir}"
- writelog "\tConffile:\t${conffile}"
- writelog "\tRedodir:\t${redodir}"
- writelog "\tVMhome:\t\t${vmhome}"
- writelog "\t/tmp info: $(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')"
- # hw setup
- writelog "Hardware:"
- writelog "\tMAC:\t\t$macaddr"
- if [ -n "${network_card}" ]; then
- writelog "\tNet Adaptor:\t${network_card}"
- fi
- writelog "\tMem:\t\t${mem} MB"
-
- # echo nur wenn hostmem gesetzt
- [ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB"
- writelog "\tMax. res.:\t${xres}x${yres}"
- writelog "\tCD-ROM1:\t${cdrom0}"
- writelog "\tCD-ROM2:\t${cdrom1}"
- writelog "\tFloppy_A:\t${floppy0}"
- if [ "${serial}" = "TRUE" ]; then
- writelog "\tSerial Port:\t${serialdev}"
- fi
- if [ "${parallel}" = "TRUE" ]; then
- writelog "\tParallel Port:\t${paraldev}"
- fi
-
- writelog "Shared folders:"
- if [ "${HGFS_DISABLED}" = "FALSE" ]; then
- writelog "\tNo shared folders enabled."
- else
- writelog "\Shared folders enabled."
- fi
-
- # image
- writelog "Diskimage:"
- writelog "\tDiskfile:\t${diskfile}"
- writelog "\tDisktype:\t${hddrv}"
- writelog "\tHWVersion:\t${hwver}"
- writelog "\tVMostype:\t${vmostype}"
-
- # misc
- writelog "Misc:"
- writelog "\tDisplayname:\t${displayname}"
- if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then
- writelog "\t3D Graphics:\tenabled"
- fi
- # empty line at end
- writelog ""
-
-}
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc
deleted file mode 100644
index 22718839..00000000
--- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc
+++ /dev/null
@@ -1,152 +0,0 @@
-#########################################
-# Include: Hardware checks and settings #
-#########################################
-
-set_hardware_legacy() {
-
-# use different network card (default e1000, vlance, vmxnet)
-if [ -n "${network_card}" ]; then
- network_virtualDev="ethernet0.virtualDev = \"${network_card}\""
-else
- network_virtualDev='ethernet0.virtualDev = "e1000"'
-fi
-
-# use different network card (default e1000, vlance, vmxnet)
-hostdev="/dev/vmnet1"
-case "${network_kind}" in
- bridge|bridged)
- hostdev="/dev/vmnet0"
- ;;
- nat)
- hostdev="/dev/vmnet1"
- ;;
- hostonly|host-only)
- hostdev="/dev/vmnet2"
- ;;
-esac
-
-# set standard sound card, overwrite depending on OS (options sb16, es1371, hdaudio)
-sound="es1371"
-
-# set sound card explicitly if there is more than one card in the host system
-sound_fileName='sound.fileName = "-1"
-sound.autodetect = "TRUE"'
-
-# check for 3D configuration setting
-case "$enable3d" in
- true|yes)
- enable3d="TRUE"
- ;;
- *)
- enable3d="FALSE"
- ;;
-esac
-
-# check for whitelisted HW-3D
-FORCE3D=""
-if [ -n "$SLX_VMWARE_3D" ]; then
- FORCE3D='mks.gl.allowBlacklistedDrivers = "TRUE"'
-fi
-
-# serial/parallel port defined (e.g. "ttyS0, lp0" or "autodetect")
-case "$serial" in
- tty*)
- if [ -e "/dev/$serial" ]; then
- serialdev="serial0.filename = \"/dev/${serial}\""
- serial="TRUE"
- else
- serialdev="# no serial port configured"
- serial="FALSE"
- fi
- ;;
- auto*)
- serialdev="serial0.autodetect = \"TRUE\""
- serial="TRUE"
- ;;
- *)
- serialdev="# no serial port configured"
- serial="FALSE"
- ;;
-esac
-
-case "$parallel" in
- lp*|parport*)
- if [ -e "/dev/$parallel" ]; then
- paraldev="parallel0.filename = \"/dev/${parallel}\""
- paralbidi="TRUE"
- parallel="TRUE"
- else
- paraldev="# no parallel port configured"
- paralbidi="FALSE"
- parallel="FALSE"
- fi
- ;;
- auto*)
- paraldev="parallel0.autodetect = \"TRUE\""
- paralbidi="TRUE"
- parallel="TRUE"
- ;;
- *)
- paraldev="# no parallel port configured"
- paralbidi="FALSE"
- parallel="FALSE"
- ;;
-esac
-
-# check if ide/scsi and hwver of image
-# read only the first 30 lines to be sure
-imghead=$(head -n 30 "${diskfile}")
-
-## Added to handle persistent snapshots.
-if [[ "$originalVMDKFilePath" ]]; then
- echo "Select \"${originalVMDKFilePath}\" as information base for \"${diskfile}\"."
- imghead=$(head -n 30 "$originalVMDKFilePath") && \
-
- # Support suspend mode.
- stateFilePath="$(readlink -f "$(dirname "$diskfile")/"*.vmss)" && \
- if [ -f "$stateFilePath" ]; then
- echo "Found state file \"$stateFilePath\"." && \
- stateFileConfiguration="
- checkpoint.vmState = \"$stateFilePath\""
- fi
- POSTRUN="stateFilePath=\"\$(readlink -f \"${confdir}/\"*.vmss)\" && memoryFilePath=\"\$(readlink -f \"${confdir}/\"*.vmem)\" && [ -f \"\$stateFilePath\" ] && echo \"Saving state and memory file \\\"\$stateFilePath\\\" and \\\"\$memoryFilePath\\\".\" && mv -f \"\$stateFilePath\" \"$(dirname "$diskfile")/\" && mv -f \"\$memoryFilePath\" \"$(dirname "$diskfile")/\""
-fi
-
-##
-hwver=$(echo "${imghead}" | grep -m1 -ia "ddb.virtualHWVersion" | awk -F '"' '{print $2}')
-
-
-if [ -z "$override_hddtype" ]; then
- hddrv=$(echo "${imghead}" | grep -m1 -ia "ddb.adapterType" | awk -F '"' '{print $2}')
-else
- hddrv=$override_hddtype
-fi
-
-PCIE=
-case "${hddrv}" in
- ide)
- ide="TRUE"
- scsi="FALSE"
- ;;
- lsisas*)
- ide="FALSE"
- scsi="TRUE"
- PCIE='pciBridge4.present = "TRUE"
- pciBridge4.virtualDev = "pcieRootPort"
- pciBridge4.functions = "8"'
- ;;
- lsilogic|buslogic)
- ide="FALSE"
- scsi="TRUE"
- ;;
- scsi)
- ide="FALSE"
- scsi="TRUE"
- hddrv="lsilogic"
- ;;
- *)
- slxlog "virt-vmware-hdd" "vmware: Unknown HDD adapter type $hddrv"
- ;;
-esac
-
-}
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc
deleted file mode 100644
index 52a341ba..00000000
--- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################
-# Include: Write config files #
-###############################
-
-write_config_files_legacy() {
- # create vmware directories
- mkdir -p "$redodir" >/dev/null 2>&1
- mkdir -p "$confdir" >/dev/null 2>&1
- mkdir -p "$vmhome/dndlogs" >/dev/null 2>&1
- touch "$vmhome/dndlogs/dndlog.conf" >/dev/null 2>&1
-
- # create preferences file ${vmhome}/preferences
- source "${VMWAREINCLUDEDIR}/create_vmhome_preferences_file.inc" && create_vmhome_preferences_file
-
- # create VMware config file (conffile)
- source "${VMWAREINCLUDEDIR}/create_vmware_config_file_legacy.inc" && create_vmware_config_file_legacy
-
- # link to conffile if confdir != redodir
- [ "$confdir" != "$redodir" ] && ln -s "$conffile" "$redodir/run-vmware.conf" >/dev/null 2>&1
-
- # sync is needed to ensure that data is really written to virtual disk
- # TODO: Move to general run-virt, right before exec of vm
- sync
-
- # own nvram. We need it for floppy drive b, default nvram has just drive a
- if ! cp "/opt/openslx/vmchooser/vmware/nvram" "$confdir/nvram"; then
- slxlog "virt-vmware-nvram" "Could not copy nvram from '/opt/openslx/vmchooser/vmware/nvram' '$confdir/nvram'"
- fi
-}
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include
index 08188b58..84679ebf 100644
--- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include
+++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include
@@ -33,34 +33,23 @@ vmw_cap_hw_version() {
[ "$1" -lt "$maxhardwareversion" ] && maxhardwareversion="$1"
}
-if [ "$LEGACY" ]; then
- # hardware checks
- source "${VMWAREINCLUDEDIR}/set_hardware_legacy.inc" && set_hardware_legacy
- # write configuration files
- # write_config_files calls:
- # set_vmhome_preferences_header
- # set_vmware_startup_file
- source "${VMWAREINCLUDEDIR}/write_config_files_legacy.inc" && write_config_files_legacy
-else
- # get information from downloaded vmx
- source "${VMWAREINCLUDEDIR}/parse_vmx.inc"
+# get information from downloaded vmx
+source "${VMWAREINCLUDEDIR}/parse_vmx.inc"
- # determine limitations wrt RAM and CPU count of VM
- source "${VMWAREINCLUDEDIR}/determine_hardware_limitations.inc"
+# determine limitations wrt RAM and CPU count of VM
+source "${VMWAREINCLUDEDIR}/determine_hardware_limitations.inc"
- # create file and directory structure for vmware setup
- source "${VMWAREINCLUDEDIR}/create_static_directory_structure.inc"
+# create file and directory structure for vmware setup
+source "${VMWAREINCLUDEDIR}/create_static_directory_structure.inc"
- # create preferences file ${vmhome}/preferences
- source "${VMWAREINCLUDEDIR}/create_vmhome_preferences_file.inc" && create_vmhome_preferences_file
+# create preferences file ${vmhome}/preferences
+source "${VMWAREINCLUDEDIR}/create_vmhome_preferences_file.inc" && create_vmhome_preferences_file
- # parse the given vmx file
- source "${VMWAREINCLUDEDIR}/write_final_vmx.inc"
-fi
+# parse the given vmx file
+source "${VMWAREINCLUDEDIR}/write_final_vmx.inc"
-# logging and stdout
-# needs writelog() from vmchooser-run_virt
-source "${VMWAREINCLUDEDIR}/logging.inc" && logging
+# print summary - needs writelog() from vmchooser-run_virt
+source "${VMWAREINCLUDEDIR}/log_config_summary.inc"
# For debugging
cp "$conffile" "/tmp/vmware-last-config"