diff options
| author | Simon Rettberg | 2013-05-24 21:10:10 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2013-05-24 21:10:10 +0200 |
| commit | 60767203dfab0cf321d3e830e1d1af213bf6df74 (patch) | |
| tree | 3bd4035d502b6f6850538b7c74187e7799917c53 | |
| parent | [vmchooser] mount vm-nfs-share read only (diff) | |
| download | tm-scripts-60767203dfab0cf321d3e830e1d1af213bf6df74.tar.gz tm-scripts-60767203dfab0cf321d3e830e1d1af213bf6df74.tar.xz tm-scripts-60767203dfab0cf321d3e830e1d1af213bf6df74.zip | |
IMPORTANT: Implemented remote config that will be loaded at bootup
IMPORTANT: You need to add the URL to a config to the kernel command line
IMPORTANT: or you won't see any vmware images anymore in your vmchooser
IMPORTANT: add 'APPEND slxconfig=http://132.230.8.113/boot/config' to
IMPORTANT: your tftp config for a start...
6 files changed, 42 insertions, 11 deletions
diff --git a/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount b/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount deleted file mode 100644 index 21ac1544..00000000 --- a/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] - Description=Mount vm-store NFS - - [Mount] - What=vm-store.public.ads.uni-freiburg.de:vmwareImages/vmware/vmware65 - Where=/var/lib/virt - Type=nfs - Options=ro,async,nolock,vers=3 - StandardOutput=syslog - StandardError=syslog diff --git a/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.service b/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.service new file mode 100644 index 00000000..7a4b4f58 --- /dev/null +++ b/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.service @@ -0,0 +1,8 @@ +[Unit] +Description=Mount vm-store NFS +Wants=download-config.service +After=download-config.service + +[Service] +Type=oneshot +ExecStart=/opt/openslx/bin/mount-lib-virt diff --git a/remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script b/remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script index 199495aa..444dc52c 100755 --- a/remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script +++ b/remote/rootfs/rootfs-stage32/data/etc/openslx/udhcpc.openslx.script @@ -63,7 +63,7 @@ search lp.ruf.uni-freiburg.de # TODO i.e. event trigger [ "x$(grep -ci mount /proc/cmdline)" != "x0" ] && systemctl start nfs-mount.service # Always mount virtlib directory - systemctl start var-lib-virt.mount + systemctl start var-lib-virt.service ;; diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/download-config.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/download-config.service new file mode 100644 index 00000000..8807d2ea --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/download-config.service @@ -0,0 +1,6 @@ +[Unit] +Description=Parse kernel command line for config URL and download + +[Service] +Type=oneshot +ExecStart=/opt/openslx/bin/activate-sysconfig diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/activate-sysconfig b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/activate-sysconfig new file mode 100755 index 00000000..e50111ae --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/activate-sysconfig @@ -0,0 +1,19 @@ +#!/bin/bash + +export PATH=/opt/openslx/bin:/opt/openslx/usr/bin + +URL="$(grep -o -E "slxconfig=\S+" /proc/cmdline | cut -c 11-)" + +if [ -z "$URL" ]; then + echo "Error - 'slxconfig=' not found in command line, or empty" + exit 1 +fi + +wget -q -O "/opt/openslx/config" "$URL" +RET=$? +if [ "x$RET" != "x0" ]; then + echo "Error - downloading '$URL' via wget failed. Exit Code: $RET" + exit 1 +fi +exit 0 + diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mount-lib-virt b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mount-lib-virt new file mode 100755 index 00000000..ac0dd1a4 --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mount-lib-virt @@ -0,0 +1,8 @@ +#!/bin/bash + +. /opt/openslx/config || exit 1 + +export PATH=/opt/openslx/bin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin + +mkdir -p /var/lib/virt +mount -t nfs -o ro,async,nolock,vers=3 "$SLX_VM_NFS" /var/lib/virt |
