summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/qemukvm/files/run-virt.include
diff options
context:
space:
mode:
authorSebastian Schmelzer2010-09-02 17:50:49 +0200
committerSebastian Schmelzer2010-09-02 17:50:49 +0200
commit416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch)
tree4715f7d742fec50931017f38fe6ff0a89d4ceccc /os-plugins/plugins/qemukvm/files/run-virt.include
parentFix for the problem reported on the list (sed filter forgotten for the (diff)
downloadcore-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.gz
core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.xz
core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.zip
change dir structure
Diffstat (limited to 'os-plugins/plugins/qemukvm/files/run-virt.include')
-rw-r--r--os-plugins/plugins/qemukvm/files/run-virt.include306
1 files changed, 0 insertions, 306 deletions
diff --git a/os-plugins/plugins/qemukvm/files/run-virt.include b/os-plugins/plugins/qemukvm/files/run-virt.include
deleted file mode 100644
index 02c70469..00000000
--- a/os-plugins/plugins/qemukvm/files/run-virt.include
+++ /dev/null
@@ -1,306 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program/file 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 feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-# -----------------------------------------------------------------------------
-# run-virt.include
-# - Include script for running the QEMU/Linux KVM virtual machine on an
-# OpenSLX client via the run-virt.sh or run-vmgrid.sh
-################################################################################
-
-################################################################################
-### Include general configuration
-################################################################################
-if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf ]; then
- . ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf
-else
- writelog "Problems reading config file of ${self} plugin"
- # TODO: exit wenn conf wichtig
- #exit 1
-fi
-
-################################################################################
-### Declaration of default variables
-################################################################################
-
-PLUGINCONFQK="${PLUGINCONFROOT}/${self}"
-PLUGINDIRQK=${OPENSLX_DEFAULT_DIR}/plugin-repo/${self}
-# create TMPDIR for all users
-mkdir -m 1777 /tmp/${self} 2>/dev/null
-# TMPDIR
-QKTMPDIR="/tmp/${self}/${USER}/${VM_ID}"
-# define dirs and files which can be removed after exit, be carefull!
-RMDIRS="${QKTMPDIR}"
-rm -rf ${RMDIRS} 2>/dev/null
-mkdir -m 1777 -p ${QKTMPDIR} 2>/dev/null
-# vmpath is the path to the vm, here an image (img|qcow*|vmdk)
-diskfile=${vmpath}
-
-# check the file type
-if echo ${imgname} | grep -iE "img|qcow|vmdk" >/dev/null 2>&1; then
- imgtype=$(echo ${imgname##*.} | tr [a-z] [A-Z])
-else
- writelog "${imgname} is not a valid image type (img|qcow*|vmdk), exiting!"
- exit 1
-fi
-
-# hot keys ALT+CTRL+SHIFT
-VIRTCMDOPTS="${VIRTCMDOPTS} -alt-grab"
-
-# display name, remove blanks because of cmdline problems
-displayname=$(echo ${displayname} | sed -e "s, ,-,g")
-VIRTCMDOPTS="${VIRTCMDOPTS} -name ${displayname}"
-
-writelog "Directories:"
-writelog "\tTMPDIR:\t\t\t$QKTMPDIR"
-writelog "Diskimage:"
-writelog "\tDisk type:\t\t$imgtype"
-writelog "\tDisk file:\t\t$diskfile"
-
-################################################################################
-### Hardware checks
-################################################################################
-
-# memory part equal to vmware plugin
-# percentage of memory to use for virtualbox in standard case
-if [ -n "${forcemem}" ]; then
- mem="${forcemem}"
-else
- permem=30
- if [ "${totalmem}" -ge "1600" ]; then
- permem=40
- fi
-# # check if /tmp is on harddisk
-# if grep -qe "/dev/.* /tmp " /proc/mounts ; then
-# permem=60
-# id44="1"
-# # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
-# # (40% vmware | 40% confdir(vmem...) | 20% host
-# # VMplayer 2+ issue
-# # TODO: makes this sense for vbox?
-# #if [ "${totalmem}" -ge "2500" ]; then
-# #permem=40
-# #rmdir ${snapshotdir}
-# #snapshotdirold=${snapshotdir}
-# #snapshotdir=/dev/shm/${self}/${USER}/${VM_ID}
-# #mkdir -p ${snapshotdir}
-# #ln -sf ${snapshotdir} ${snapshotdirold}
-# #fi
-# fi
- mem=$(expr ${totalmem} / 100 \* ${permem})
- if [ "${id44}" = "1" ]; then
- memhost=$(expr ${totalmem} - ${mem})
- else
- memhost=$(expr ${totalmem} - ${mem} - ${mem})
- fi
- # static first
- permem=50
- mem=$(expr ${totalmem} / 100 \* ${permem})
- if [ "${mem}" -lt "256" ] || [ "${memhost}" -lt "256" ]; then
- writelog "Memory out of range: ${mem} MB (guest) / ${memhost} MB (host)!"
- writelog "Min. 256 MB for host and guest!"
- exit 1
- fi
-fi
-
-VIRTCMDOPTS="${VIRTCMDOPTS} -m ${mem}"
-
-# network adaptor alternatives: rtl8139, pcnet, e1000
-network_card=${network_card:=pcnet}
-VIRTCMDOPTS="${VIRTCMDOPTS} -net nic,macaddr=${macaddr},model=${network_card}"
-
-# define net kind and apply script
-qemu_ifscr="script=${PLUGINCONFQK}/ifup,downscript=${PLUGINCONFQK}/ifdown"
-case "${network_kind}" in
- bridge*)
- VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=tapbridge${VM_ID},${qemu_ifscr}"
- sudo /opt/openslx/uclib-rootfs/sbin/tunctl -t tapbridge${VM_ID} -u ${USER} \
- >/dev/null 2>&1
- sudo /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 tapbridge${VM_ID}
- POSTRUN="/opt/openslx/uclib-rootfs/sbin/tunctl -d tapbridge${VM_ID}"
- ;;
- nat)
- VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=tapnat${VM_ID},${qemu_ifscr}"
- sudo /opt/openslx/uclib-rootfs/sbin/tunctl -t tapnat${VM_ID} -u ${USER} \
- >/dev/null 2>&1
- sudo /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 tapnat${VM_ID}
- POSTRUN="/opt/openslx/uclib-rootfs/sbin/tunctl -d tapnat${VM_ID}"
- ;;
- host*)
- VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=taphost${VM_ID},${qemu_ifscr}"
- sudo /opt/openslx/uclib-rootfs/sbin/tunctl -t taphost${VM_ID} -u ${USER} \
- >/dev/null 2>&1
- sudo /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 taphost${VM_ID}
- POSTRUN="/opt/openslx/uclib-rootfs/sbin/tunctl -d taphost${VM_ID}"
- ;;
- *)
- network_kind="user"
- VIRTCMDOPTS="${VIRTCMDOPTS} -net user"
- ;;
-esac
-
-# translate boot, use if set else set to HardDisk
-if [ -n "${boot}" ]; then
- case ${boot} in
- n*) # usually support for a,c,d,n, stands for Floppy, HD, CD-ROM, Network
- boot="n"
- # TODO: does not work yet, can be removed if tap1 solution better
- if [ "${network_kind}" = "user" ] && [ -n "${virtualbox_tftpdir}" ]; then
- VIRTCMDOPTS="${VIRTCMDOPTS},tftp=${virtualbox_tftpdir}"
- fi
- ;;
- # later maybe c|disk|hd*|sd*) for HD and d|cd*) for CD-ROM
- *)
- boot="c"
- ;;
- esac
-else
- boot="c"
-fi
-
-# external GUI port
-vncport="590${VM_ID}"
-
-# TODO: most of the following does not make much sense yet ...
-# virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from run-virt.include set then fdtest="TRUE"
-fdtest=
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="/var/lib/virt/vmchooser/loopimg/fd.img"
-# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
-cdtest=
-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 ...
-ide="TRUE"
-hddrv="ide"
-
-# TODO: nur bei vmchooser
-#VIRTCMDOPTS="${VIRTCMDOPTS} -fda /dev/fd0"
-#VIRTCMDOPTS="${VIRTCMDOPTS} -fdb ${floppy1name}"
-
-# audio
-VIRTCMDOPTS="${VIRTCMDOPTS} -soundhw all"
-
-# serial
-#VIRTCMDOPTS="${VIRTCMDOPTS} -serial /dev/ttyS0"
-
-writelog "Virtual Hardware:"
-writelog "\tGuest RAM:\t\t${mem} MB"
-# echo nur wenn memhost gesetzt
-[ -n "${memhost}" ] && writelog "\tHost RAM:\t\t${memhost} MB"
-writelog "\tMAC address:\t\t$macaddr"
-writelog "\tNetwork card:\t\t${network_card}"
-writelog "\tNetwork kind:\t\t${network_kind}"
-#writelog "\tCD-ROM1:\t${cdrom0}"
-#writelog "\tCD-ROM2:\t${cdrom1}"
-#writelog "\tFloppy_A:\t${floppy0}"
-#writelog "\tFloppy_B:\t${floppy1}"
-#writelog "\tShared Folders 'home':\t/home/${USER}"
-
-################################################################################
-### finally set env for run-virt.sh
-################################################################################
-
-# TODO: besser drive statt hda?
-#-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]
-# [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]
-# [,cache=writethrough|writeback|none][,format=f][,serial=s]
-# [,boot=on|off]
-#-snapshot write to temporary files instead of disk image files
-#-usb enable the USB driver (will be the default soon)
-#-usbdevice name add the host or guest USB device 'name'
-#-nographic disable graphical output and redirect serial I/Os to console
-#-vga [std|cirrus|vmware|none] select video card type
-#-vnc display start a VNC server on display
-#-tftp dir allow tftp access to files in dir [-net user]
-#-bootp file advertise file in BOOTP replies
-#-no-fd-bootchk disable boot signature checking for floppy disks
-#-no-acpi disable ACPI
-#-kernel bzImage use 'bzImage' as kernel image
-#-append cmdline use 'cmdline' as kernel command line
-#-initrd file use 'file' as initial ram disk
-#-serial dev redirect the serial port to char device 'dev'
-#-parallel dev redirect the parallel port to char device 'dev'
-#-monitor dev redirect the monitor to char device 'dev'
-#-pidfile file write PID to 'file'
-#-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)
-#-L path set the directory for the BIOS, VGA BIOS and keymaps
-#-bios file set the filename for the BIOS
-#-no-kvm disable KVM hardware virtualization
-#-enable-nesting enable support for running a VM inside the VM (AMD only)
-#-no-reboot exit instead of rebooting
-#-no-shutdown stop before shutdown
-#-loadvm [tag|id]
-# start right away with a saved state (loadvm in monitor)
-#-daemonize daemonize QEMU after initializing
-#-kvm-shadow-memory megs set the amount of shadow pages to be allocated
-#-mem-path set the path to hugetlbfs/tmpfs mounted directory, also
-# enables allocation of guest memory with huge pages
-#-mem-prealloc toggles preallocation of -mem-path backed physical memory
-# at startup. Default is enabled.
-#-option-rom rom load a file, rom, into the option ROM space
-#-localtime set the real time clock to local time [default=utc]
-#-startdate select initial date of the clock
-#-icount [N|auto]
-# enable virtual instruction counter with 2^N clock ticks per instruction
-#-echr chr set terminal escape character instead of ctrl-a
-#-virtioconsole c
-# set virtio console
-#-show-cursor show cursor
-
-# check for kvm modules
-if [ -c /dev/kvm ]; then
- for tool in kvm qemu-kvm; do
- VIRTCMD=$(which ${tool} 2>/dev/null)
- [ -n "$VIRTCMD" ] && break
- done
-else
- VIRTCMD=$(which qemu 2>/dev/null)
- writelog "KVM available but /dev/kvm not found!"
- writelog "Trying fallback to QEMU emulation."
-fi
-
-if [ -z "${VIRTCMD}" ]; then
- writelog "No QEMU/KVM found, exiting!"
- rm -rf ${RMDIRS}
- exit 1
-elif [ "${VIRTCMD##*/}" = "qemu" ]; then
- writelog "User space emulation:\t\t${VIRTCMD}"
-else
- writelog "User space virtualization:\t${VIRTCMD}"
-fi
-
-# using snapshots
-VIRTCMDOPTS="${VIRTCMDOPTS} -snapshot"
-
-# TODO: boot als var, -boot n, tftp...
-VIRTCMDOPTS="${VIRTCMDOPTS} -boot c"
-
-# set headless mode
-# define first, you do not want VIRTCMDOPTS from graphical start
-VIRTCMDHL=${VIRTCMD}
-VIRTCMDOPTSHL="${VIRTCMDOPTS} -nographic ${diskfile}"
-
-# graphical start
-# vga std/cirrus/vmware?
-#VIRTCMDOPTS="${VIRTCMDOPTS} -vga std -full-screen ${diskfile}"
-VIRTCMDOPTS="${VIRTCMDOPTS} ${diskfile}"