From 807cd6d3b2698276edb19e9508cfe7445752ae9f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 5 Apr 2016 15:14:38 +0200 Subject: [run-virt/*] Introduce variable for downloaded vm config (was $TMPDIR/$IMGUUID) --- .../vmchooser/vmware/includes/parse_vmx.inc | 54 +++++++++++----------- 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'remote/modules/vmware/data/opt') diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc index 2b03e153..1c81a0bb 100644 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc +++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc @@ -1,5 +1,5 @@ ###################################################################### -# Include: Parsing the non-legacy delivered vmxfile $TMPDIR/$IMGUUID # +# Include: Parsing the non-legacy delivered vmxfile ${TMPCONFIG} # ###################################################################### writelog "Parsing virtual machine description file..." @@ -7,19 +7,19 @@ writelog "Parsing virtual machine description file..." # check for vmdk file marker %VM_DISK_PATH% and put vmdk path in it's place: also VM_DISK_MODE # and VM_DISK_REDOLOGDIR. # IMAGE=$(grep -io '> "$TMPDIR/$IMGUUID" -echo 'ethernet0.address = "'"${macaddr}"'"' >> "$TMPDIR/$IMGUUID" +echo 'ethernet0.addressType = "static"' >> "${TMPCONFIG}" +echo 'ethernet0.address = "'"${macaddr}"'"' >> "${TMPCONFIG}" # DVD, CDROM # XXX: For now it's save to assume ide channel 1 is free, as we support only one HDD, and it it's IDE, it's on channel 0 -cat >> "$TMPDIR/$IMGUUID" <<-HEREEND +cat >> "${TMPCONFIG}" <<-HEREEND ide1:0.present = "$cdrom0" ide1:0.autodetect = "TRUE" ide1:0.fileName = "auto detect" @@ -37,7 +37,7 @@ else fi # Floppies: -cat >> "$TMPDIR/$IMGUUID" <<-HEREEND +cat >> "${TMPCONFIG}" <<-HEREEND floppy0.present = "$floppy0" floppy0.startConnected = "FALSE" floppy0.autodetect = "TRUE" @@ -51,7 +51,7 @@ HEREEND writelog "numvcpus = ${cpu_cores} - maxvcpus=${real_core_count}" # RAM, CPUs -cat >> "$TMPDIR/$IMGUUID" <<-HEREEND +cat >> "${TMPCONFIG}" <<-HEREEND numvcpus = "$cpu_cores" cpuid.coresPerSocket = "$cores_per_socket" maxvcpus = "$real_core_count" @@ -63,10 +63,10 @@ HEREEND # USB if [ -n "$SLX_EXAM" ]; then # Exam mode: No USB (TODO: Configurable) - sed -i '/^usb\./d' "$TMPDIR/$IMGUUID" - echo 'usb.present = "FALSE"' >> "$TMPDIR/$IMGUUID" + sed -i '/^usb\./d' "${TMPCONFIG}" + echo 'usb.present = "FALSE"' >> "${TMPCONFIG}" else - cat >> "$TMPDIR/$IMGUUID" <<-HEREEND + cat >> "${TMPCONFIG}" <<-HEREEND usb.present = "TRUE" usb.generic.autoconnect = "TRUE" HEREEND @@ -74,7 +74,7 @@ fi # shared folders if [ "$HGFS_DISABLED" = "FALSE" ]; then - cat >> "$TMPDIR/$IMGUUID" <<-HEREEND + cat >> "${TMPCONFIG}" <<-HEREEND sharedFolder.option = "alwaysEnabled" sharedFolder0.present = "$shfolders" sharedFolder0.enabled = "$shfolders" @@ -97,7 +97,7 @@ if [ "$HGFS_DISABLED" = "FALSE" ]; then fi # Isolation tools: settings -cat >> "$TMPDIR/$IMGUUID" <<-HEREEND +cat >> "${TMPCONFIG}" <<-HEREEND isolation.tools.hgfs.disable = "$HGFS_DISABLED" isolation.tools.dnd.disable = "FALSE" isolation.tools.copy.enable = "TRUE" @@ -109,10 +109,10 @@ HEREEND # Graphics, GPU: 3D will be enabled (even if vmware doesn't support the chip) if we whitelisted it. if [ -n "$SLX_VMWARE_3D" ]; then writelog "FORCE3D set - overriding 3D in vmx file." - echo 'mks.gl.allowBlacklistedDrivers = "TRUE"' >> "$TMPDIR/$IMGUUID" + echo 'mks.gl.allowBlacklistedDrivers = "TRUE"' >> "${TMPCONFIG}" # We override... play safe and cap the hwVersion to 10, since some i915 chips goofed up with 12 # Investigate if we might have to do this in other cases where we don't override - if grep -qi '^mks.enable3d.*true' "$TMPDIR/$IMGUUID"; then + if grep -qi '^mks.enable3d.*true' "${TMPCONFIG}"; then vmw_cap_hw_version "10" fi else @@ -120,37 +120,37 @@ else fi # Disable DPI scaling information passing via vmware tools -sed -i '/^gui.applyHostDisplayScaling/d' "$TMPDIR/$IMGUUID" -echo 'gui.applyHostDisplayScalingToGuest = "FALSE"' >> "$TMPDIR/$IMGUUID" +sed -i '/^gui.applyHostDisplayScaling/d' "${TMPCONFIG}" +echo 'gui.applyHostDisplayScalingToGuest = "FALSE"' >> "${TMPCONFIG}" # Additinal exam mode settings if [ -n "$SLX_EXAM" ]; then - echo 'gui.restricted = "true"' >> "$TMPDIR/$IMGUUID" + echo 'gui.restricted = "true"' >> "${TMPCONFIG}" fi # Killing duplicate lines (output much nicer than sort -u): -awk '!a[$0]++' "${TMPDIR}/${IMGUUID}" > "${TMPDIR}/${IMGUUID}.tmp" && mv "${TMPDIR}/${IMGUUID}.tmp" "${TMPDIR}/${IMGUUID}" +awk '!a[$0]++' "${TMPCONFIG}" > "${TMPCONFIG}.tmp" && mv "${TMPCONFIG}.tmp" "${TMPCONFIG}" # Apply $maxhardwareversion to final VMX -HWVER=$(grep -i -m1 '^virtualHW.version *= *' "${TMPDIR}/${IMGUUID}" | awk -F '=' '{print $2}' | sed -r 's/[^0-9]//g') +HWVER=$(grep -i -m1 '^virtualHW.version *= *' "${TMPCONFIG}" | awk -F '=' '{print $2}' | sed -r 's/[^0-9]//g') if [ -n "$HWVER" ] && [ "$HWVER" -gt "$maxhardwareversion" ]; then writelog "Hardware version capped to $maxhardwareversion (was $HWVER)" - sed -i 's/^virtualHW\.version.*$/virtualHW.version = "'$maxhardwareversion'"/I' "${TMPDIR}/${IMGUUID}" + sed -i 's/^virtualHW\.version.*$/virtualHW.version = "'$maxhardwareversion'"/I' "${TMPCONFIG}" HWVER="$maxhardwareversion" fi # Enable nested virtualization if not specified in remote vmx -if [ -e "/run/hwinfo" ] && ! grep -qi '^vhv\.enable' "${TMPDIR}/${IMGUUID}" \ +if [ -e "/run/hwinfo" ] && ! grep -qi '^vhv\.enable' "${TMPCONFIG}" \ && grep -qE '^flags\s*:.*\b(ept|npt)\b' "/proc/cpuinfo" && [ "$HWVER" -ge "9" ]; then . "/run/hwinfo" - [ "${HW_KVM}" = "ENABLED" ] && echo 'vhv.enable = "TRUE"' >> "${TMPDIR}/${IMGUUID}" + [ "${HW_KVM}" = "ENABLED" ] && echo 'vhv.enable = "TRUE"' >> "${TMPCONFIG}" fi # TODO: Need a way to check if supported by hardware before enabling! -#grep -qi '^vpmc\.enable' "${TMPDIR}/${IMGUUID}" || echo 'vpmc.enable = "TRUE"' >> "${TMPDIR}/${IMGUUID}" +#grep -qi '^vpmc\.enable' "${TMPCONFIG}" || echo 'vpmc.enable = "TRUE"' >> "${TMPCONFIG}" # At last_ Let's copy it to $confdir/run-vmware.conf -cp -p "$TMPDIR/$IMGUUID" "$conffile" && writelog "Copied TMPDIR/IMGUUID ${TMPDIR}/${IMGUUID} to conffile ${conffile}" || \ - ( writelog "Could not copy TMPDIR/IMGUUID -$TMPDIR/$IMGUUID- to conffile ${conffile}!"; cleanexit 1 ) +cp -p "${TMPCONFIG}" "$conffile" && writelog "Copied TMPDIR/IMGUUID ${TMPCONFIG} to conffile ${conffile}" || \ + ( writelog "Could not copy TMPDIR/IMGUUID -${TMPCONFIG}- to conffile ${conffile}!"; cleanexit 1 ) -- cgit v1.2.3-55-g7522