summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmchooser/data
diff options
context:
space:
mode:
authorroot2013-06-03 17:34:24 +0200
committerroot2013-06-03 17:34:24 +0200
commit79938062f218767d03b713db88cdca41543f5924 (patch)
tree89d5e2f288d7736401b34f8ccd57c6acb6d4257e /remote/modules/vmchooser/data
parent[kernel] Fix aufs3 patching (diff)
parentMerge branch 'master' of git.openslx.org:openslx-ng/tm-scripts (diff)
downloadtm-scripts-79938062f218767d03b713db88cdca41543f5924.tar.gz
tm-scripts-79938062f218767d03b713db88cdca41543f5924.tar.xz
tm-scripts-79938062f218767d03b713db88cdca41543f5924.zip
Merge branch 'master' of simonslx:openslx-ng/tm-scripts
Diffstat (limited to 'remote/modules/vmchooser/data')
-rw-r--r--remote/modules/vmchooser/data/etc/openslx/vmchooser/smb.conf25
-rwxr-xr-xremote/modules/vmchooser/data/etc/openslx/vmchooser/vmchooser-env115
l---------remote/modules/vmchooser/data/etc/systemd/system/graphical.target.wants/vmchooser.service1
-rw-r--r--remote/modules/vmchooser/data/etc/systemd/system/vmchooser.service9
4 files changed, 150 insertions, 0 deletions
diff --git a/remote/modules/vmchooser/data/etc/openslx/vmchooser/smb.conf b/remote/modules/vmchooser/data/etc/openslx/vmchooser/smb.conf
new file mode 100644
index 00000000..ec757ce4
--- /dev/null
+++ b/remote/modules/vmchooser/data/etc/openslx/vmchooser/smb.conf
@@ -0,0 +1,25 @@
+# basic samba configuration file for OpenSLX host-internal networking
+[global]
+ workgroup = OPENSLX
+ netbios name = HOMESERVER
+ security = SHARE
+ server string = Home and Print Provider
+ bind interfaces only = Yes
+ interfaces = NWIF
+ pid directory = PIDDIR
+
+[userhome]
+ comment = Home Directory of USER
+ path = /home/USER
+ create mask = 0700
+ guest ok = No
+ read only = No
+
+[scratch]
+ comment = Host System Temp Folder
+ path = /tmp
+ create mask = 0700
+ guest ok = Yes
+ read only = No
+ browseable = Yes
+
diff --git a/remote/modules/vmchooser/data/etc/openslx/vmchooser/vmchooser-env b/remote/modules/vmchooser/data/etc/openslx/vmchooser/vmchooser-env
new file mode 100755
index 00000000..c4d99d6d
--- /dev/null
+++ b/remote/modules/vmchooser/data/etc/openslx/vmchooser/vmchooser-env
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin
+
+#source config file with vars (e.g. ipaddr, macaddr, hostname)
+. /opt/openslx/config
+
+#from plugins/vmchooser/40-started-hw-config/run-virt.sh
+#TODO: extra systemd-service for hwinfo
+hwinfo --cdrom | grep -i "Device File:" | awk {'print $3'} >/etc/openslx/hwinfo.cdrom
+hwinfo --floppy | grep -i "Device File:" | awk {'print $3'} >/etc/openslx/hwinfo.floppy
+
+#from plugins/vmchooser/XX_vmchooser.sh
+VMCHOOSER_CONF_DIR=/etc/openslx/vmchooser
+
+mkdir -p ${VMCHOOSER_CONF_DIR}/loopimg
+mkdir -p ${VMCHOOSER_CONF_DIR}/fd-loop -m 1777
+
+# setup all generic virtualization / starting stuff like the floppy image
+# loop file for exchanging information between linux and vm guest
+if modprobe loop; then
+ mdev -s
+else
+ : #|| error "" nonfatal
+fi
+
+# mount a clean tempfs (bug in UnionFS prevents loopmount to work)
+grep -qE "unionfs |aufs " /proc/mounts && \
+mount -n -o size=1500k -t tmpfs vm-loopimg ${VMCHOOSER_CONF_DIR}/loopimg
+
+# create an empty floppy image of 1.4MByte size
+dd if=/dev/zero of=${VMCHOOSER_CONF_DIR}/loopimg/fd.img count=2880 bs=512 2>/dev/null
+chmod 0777 ${VMCHOOSER_CONF_DIR}/loopimg/fd.img
+
+# use dos formatter copied into stage3
+mkdosfs ${VMCHOOSER_CONF_DIR}/loopimg/fd.img >/dev/null 2>&1 #|| error
+mount -n -t msdos -o loop,umask=000 ${VMCHOOSER_CONF_DIR}/loopimg/fd.img \
+ ${VMCHOOSER_CONF_DIR}/fd-loop
+
+#pvs integration
+#if [ $vmchooser_pvs -ne 0 ]; then
+# sed -i /usr/share/xsessions/default.desktop \
+# -e "s,vmchooser$,vmchooser --pvs,"
+#fi
+
+# setup more scratch space for virtual machines, if configured
+mkdir -p /tmp/virt
+mkdir -p /var/log/samba
+
+# enable normal users to setup the extended virtual machine redo file space
+# and image source via network block device (NBD only at the moment)
+# allow to start/stop samba on virtual devices (latter one ignores multiple
+# independent daemons)
+
+#cat >> /mnt/etc/sudoers << EOF
+# allow to start and stop the special /tmp redo file space (RAM + NBD/NFS server RAID)
+#ALL ALL=NOPASSWD: /sbin/losetup /dev/loop*
+#ALL ALL=NOPASSWD: /sbin/mdadm -C /dev/md0 -l linear --raid-devices=2 /dev/loop* /dev/*
+#ALL ALL=NOPASSWD: /opt/openslx/rootfs/usr/sbin/nbd-client * * /dev/nbd*
+# allow to configure and start/stop samba services
+#ALL ALL=NOPASSWD: /opt/openslx/rootfs/bin/sed -i /etc/*/smb.conf -e *
+#ALL ALL=NOPASSWD: /usr/sbin/nmbd -s /etc/*/smb.conf
+#ALL ALL=NOPASSWD: /usr/sbin/smbd -s /etc/*/smb.conf
+#ALL ALL=NOPASSWD: /opt/openslx/rootfs/usr/bin/killall nmbd smbd
+#EOF
+
+#from plugins/vmchooser/80-after-plugins/virtualization.sh
+
+# change free mem
+totalmem=$(expr $(grep -i "memtotal" /proc/meminfo \
+ | awk '{print $2}') / 1024)
+echo "totalmem=${totalmem}" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+
+# 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
+else
+ echo 'cpu_cores=1' >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+fi
+
+# arch
+echo "host_arch=$(uname -m)" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+
+# 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
+ 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
+ else
+ echo "vtflag=0" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+fi
+
+# write mac
+echo "hostmacaddr=${SLX_PXE_MAC}" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+# ip addr
+echo "hostip=${SLX_PXE_CLIENT_IP}" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+# hostname
+echo "hostname=${SLX_HOSTNAME}" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+
+# get further hw information
+j=0
+for i in $(cat /etc/openslx/hwinfo.cdrom); do
+ echo "cdrom_$j=$i" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+ j=$(expr $j + 1)
+done
+
+j=0
+for i in $(cat /etc/openslx/hwinfo.floppy); do
+ echo "floppy_$j=$i" >> ${VMCHOOSER_CONF_DIR}/virtualization.conf
+ j=$(expr $j + 1)
+done
+
diff --git a/remote/modules/vmchooser/data/etc/systemd/system/graphical.target.wants/vmchooser.service b/remote/modules/vmchooser/data/etc/systemd/system/graphical.target.wants/vmchooser.service
new file mode 120000
index 00000000..ad1590e8
--- /dev/null
+++ b/remote/modules/vmchooser/data/etc/systemd/system/graphical.target.wants/vmchooser.service
@@ -0,0 +1 @@
+../vmchooser.service \ No newline at end of file
diff --git a/remote/modules/vmchooser/data/etc/systemd/system/vmchooser.service b/remote/modules/vmchooser/data/etc/systemd/system/vmchooser.service
new file mode 100644
index 00000000..001d90f3
--- /dev/null
+++ b/remote/modules/vmchooser/data/etc/systemd/system/vmchooser.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Sets up the vmchooser environment
+Wants=graphical.target
+Before=graphical.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/etc/openslx/vmchooser/vmchooser-env