From d480a569dc7a2106f702404b4a943f70c504e82a Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 1 Aug 2013 16:58:44 +0200 Subject: adapted new naming conventions for all the scripts. for our own systemd service files: use: service-file-name.service ex: /etc/systemd/system/setup-proxy.service ALL systemd services files need to be under /etc/systemd/system for our own scripts: use: tool-what_it_does ex: /opt/openslx/scripts/systemd-setup_proxy ALL our scripts under /opt/openslx/scripts --- .../data/etc/systemd/system/debug-shell.service | 1 - .../etc/systemd/system/load-german-keymap.service | 2 +- .../data/opt/openslx/scripts/load_german_keymaps | 22 ---------- .../openslx/scripts/systemd-load_german_keymaps | 22 ++++++++++ .../system/basic.target.wants/setup-proxy.service | 1 + .../system/basic.target.wants/setup_proxy.service | 1 - .../data/etc/systemd/system/setup-proxy.service | 9 ++++ .../data/etc/systemd/system/setup_proxy.service | 9 ---- .../redsocks/data/opt/openslx/scripts/setup_proxy | 51 ---------------------- .../data/opt/openslx/scripts/systemd-setup_proxy | 51 ++++++++++++++++++++++ .../data/etc/systemd/system/nfs-mount.service | 2 +- .../data/etc/systemd/system/udhcpc@.service | 2 +- .../data/etc/systemd/system/var-lib-virt.service | 4 +- .../vmchooser/data/opt/openslx/bin/mount-lib-virt | 8 ---- .../opt/openslx/scripts/systemd-mount_vm_store | 8 ++++ 15 files changed, 96 insertions(+), 97 deletions(-) delete mode 100755 remote/modules/german/data/opt/openslx/scripts/load_german_keymaps create mode 100755 remote/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps create mode 120000 remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup-proxy.service delete mode 120000 remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup_proxy.service create mode 100644 remote/modules/redsocks/data/etc/systemd/system/setup-proxy.service delete mode 100644 remote/modules/redsocks/data/etc/systemd/system/setup_proxy.service delete mode 100755 remote/modules/redsocks/data/opt/openslx/scripts/setup_proxy create mode 100755 remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy delete mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/mount-lib-virt create mode 100755 remote/modules/vmchooser/data/opt/openslx/scripts/systemd-mount_vm_store (limited to 'remote/modules') diff --git a/remote/modules/debug/data/etc/systemd/system/debug-shell.service b/remote/modules/debug/data/etc/systemd/system/debug-shell.service index fedd138d..6d50b3bd 100644 --- a/remote/modules/debug/data/etc/systemd/system/debug-shell.service +++ b/remote/modules/debug/data/etc/systemd/system/debug-shell.service @@ -12,7 +12,6 @@ DefaultDependencies=no IgnoreOnIsolate=yes [Service] -Environment=TERM=linux PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin:/opt/openslx/usr/sbin:/opt/openslx/usr/bin ExecStart=/bin/sh Restart=always RestartSec=0 diff --git a/remote/modules/german/data/etc/systemd/system/load-german-keymap.service b/remote/modules/german/data/etc/systemd/system/load-german-keymap.service index e31406fb..c26346fe 100644 --- a/remote/modules/german/data/etc/systemd/system/load-german-keymap.service +++ b/remote/modules/german/data/etc/systemd/system/load-german-keymap.service @@ -7,4 +7,4 @@ Before=shutdown.target [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/opt/openslx/scripts/load_german_keymaps +ExecStart=/opt/openslx/scripts/systemd-load_german_keymaps diff --git a/remote/modules/german/data/opt/openslx/scripts/load_german_keymaps b/remote/modules/german/data/opt/openslx/scripts/load_german_keymaps deleted file mode 100755 index c7dbbb33..00000000 --- a/remote/modules/german/data/opt/openslx/scripts/load_german_keymaps +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -# Script serves as container script for a systemd-call due to the buggyness of several -# loadkeys-implementations <= kbd (Linux keyboard tools) 1.15.3. -# This bug can be detected through failure of the command pipe 'dumpkeys|loadkeys' yielding -# the message "unknown keysym 'compose'. - -# So we first try to insert a keymap including compose-lines: -loadkeys /opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map -ERR=$? - -# ... if this fails we enter a keymap without compose-lines: -if [[ "$ERR" -eq 0 ]]; then - exit 0 # in that case everything went smooth - exit. -else - loadkeys /opt/openslx/keymaps/german_qwertz_keyboard_translation.map # insert a keymap without compose lines - ERR=$? -fi - -# if at this point the second keymap insertion failed we pass the errorlevel to -# systemd - we cannot do more at this point. - -exit $ERR diff --git a/remote/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps b/remote/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps new file mode 100755 index 00000000..c7dbbb33 --- /dev/null +++ b/remote/modules/german/data/opt/openslx/scripts/systemd-load_german_keymaps @@ -0,0 +1,22 @@ +#!/bin/bash +# Script serves as container script for a systemd-call due to the buggyness of several +# loadkeys-implementations <= kbd (Linux keyboard tools) 1.15.3. +# This bug can be detected through failure of the command pipe 'dumpkeys|loadkeys' yielding +# the message "unknown keysym 'compose'. + +# So we first try to insert a keymap including compose-lines: +loadkeys /opt/openslx/keymaps/german_qwertz_compose_keyboard_translation.map +ERR=$? + +# ... if this fails we enter a keymap without compose-lines: +if [[ "$ERR" -eq 0 ]]; then + exit 0 # in that case everything went smooth - exit. +else + loadkeys /opt/openslx/keymaps/german_qwertz_keyboard_translation.map # insert a keymap without compose lines + ERR=$? +fi + +# if at this point the second keymap insertion failed we pass the errorlevel to +# systemd - we cannot do more at this point. + +exit $ERR diff --git a/remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup-proxy.service b/remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup-proxy.service new file mode 120000 index 00000000..0da8d078 --- /dev/null +++ b/remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup-proxy.service @@ -0,0 +1 @@ +../setup-proxy.service \ No newline at end of file diff --git a/remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup_proxy.service b/remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup_proxy.service deleted file mode 120000 index 0c7dc84b..00000000 --- a/remote/modules/redsocks/data/etc/systemd/system/basic.target.wants/setup_proxy.service +++ /dev/null @@ -1 +0,0 @@ -../setup_proxy.service \ No newline at end of file diff --git a/remote/modules/redsocks/data/etc/systemd/system/setup-proxy.service b/remote/modules/redsocks/data/etc/systemd/system/setup-proxy.service new file mode 100644 index 00000000..54052425 --- /dev/null +++ b/remote/modules/redsocks/data/etc/systemd/system/setup-proxy.service @@ -0,0 +1,9 @@ +[Unit] +Description=Proxy setup detection +Before=shutdown.target +DefaultDependencies=no + +[Service] +Type=oneshot +ExecStart=/opt/openslx/scripts/systemd-setup_proxy +RemainAfterExit=yes diff --git a/remote/modules/redsocks/data/etc/systemd/system/setup_proxy.service b/remote/modules/redsocks/data/etc/systemd/system/setup_proxy.service deleted file mode 100644 index 2a06058b..00000000 --- a/remote/modules/redsocks/data/etc/systemd/system/setup_proxy.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Proxy setup detection -Before=shutdown.target -DefaultDependencies=no - -[Service] -Type=oneshot -ExecStart=/opt/openslx/scripts/setup_proxy -RemainAfterExit=yes diff --git a/remote/modules/redsocks/data/opt/openslx/scripts/setup_proxy b/remote/modules/redsocks/data/opt/openslx/scripts/setup_proxy deleted file mode 100755 index 6c39c077..00000000 --- a/remote/modules/redsocks/data/opt/openslx/scripts/setup_proxy +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -for wait in 1 1 2 3 4 6 8 10 end; do - grep '^#_RCONFIG_TAG$' /opt/openslx/config > /dev/null && echo "Config found!" && break - [ "$wait" == "end" ] && echo "Giving up!" && exit 1 - echo "No config yet..." - sleep $wait -done - -. /opt/openslx/config || echo "Error sourcing config for setup_proxy" - -[ -z "$SLX_PROXY_MODE" -o "x$SLX_PROXY_MODE" == "xoff" ] && echo "proxy mode disabled." && exit 0 - -PROXY=off -if [ "$SLX_PROXY_MODE" == "on" ]; then - PROXY=on -elif [ "$SLX_PROXY_MODE" == "auto" -a -n "$SLX_PXE_CLIENT_IP" ]; then - [[ "$SLX_PXE_CLIENT_IP" =~ ^10\. ]] && PROXY=on - [[ "$SLX_PXE_CLIENT_IP" =~ ^192\.168\. ]] && PROXY=on - [[ "$SLX_PXE_CLIENT_IP" =~ ^172\.[123] ]] && PROXY=on -fi - -[ "$PROXY" == "off" ] && echo "Proxy mode not required." && exit 0 - -sed -i "s/%%PROXY_IP%%/$SLX_PROXY_IP/g;s/%%PROXY_PORT%%/$SLX_PROXY_PORT/g;s/%%PROXY_TYPE%%/$SLX_PROXY_TYPE/g" /etc/redsocks.conf - -mkdir -p /run/redsocks -chown redsocks:redsocks /run/redsocks -systemctl start redsocks - -iptables -t nat -N REDSOCKS -iptables -t nat -A REDSOCKS -d "$SLX_PROXY_IP" -j RETURN -iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN -iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN -iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN -iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN -iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN -iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN -iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN -iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN -if [ -n "$SLX_PROXY_BLACKLIST" ]; then - for ADDR in $SLX_PROXY_BLACKLIST; do - iptables -t nat -A REDSOCKS -d "$ADDR" -j RETURN - done -fi -iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-port 12345 -iptables -t nat -A PREROUTING -p tcp -j REDSOCKS -iptables -t nat -A OUTPUT -p tcp -j REDSOCKS -iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE -iptables -A INPUT -i br0 -p tcp --dport 12345 -j DROP - diff --git a/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy b/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy new file mode 100755 index 00000000..6c39c077 --- /dev/null +++ b/remote/modules/redsocks/data/opt/openslx/scripts/systemd-setup_proxy @@ -0,0 +1,51 @@ +#!/bin/bash + +for wait in 1 1 2 3 4 6 8 10 end; do + grep '^#_RCONFIG_TAG$' /opt/openslx/config > /dev/null && echo "Config found!" && break + [ "$wait" == "end" ] && echo "Giving up!" && exit 1 + echo "No config yet..." + sleep $wait +done + +. /opt/openslx/config || echo "Error sourcing config for setup_proxy" + +[ -z "$SLX_PROXY_MODE" -o "x$SLX_PROXY_MODE" == "xoff" ] && echo "proxy mode disabled." && exit 0 + +PROXY=off +if [ "$SLX_PROXY_MODE" == "on" ]; then + PROXY=on +elif [ "$SLX_PROXY_MODE" == "auto" -a -n "$SLX_PXE_CLIENT_IP" ]; then + [[ "$SLX_PXE_CLIENT_IP" =~ ^10\. ]] && PROXY=on + [[ "$SLX_PXE_CLIENT_IP" =~ ^192\.168\. ]] && PROXY=on + [[ "$SLX_PXE_CLIENT_IP" =~ ^172\.[123] ]] && PROXY=on +fi + +[ "$PROXY" == "off" ] && echo "Proxy mode not required." && exit 0 + +sed -i "s/%%PROXY_IP%%/$SLX_PROXY_IP/g;s/%%PROXY_PORT%%/$SLX_PROXY_PORT/g;s/%%PROXY_TYPE%%/$SLX_PROXY_TYPE/g" /etc/redsocks.conf + +mkdir -p /run/redsocks +chown redsocks:redsocks /run/redsocks +systemctl start redsocks + +iptables -t nat -N REDSOCKS +iptables -t nat -A REDSOCKS -d "$SLX_PROXY_IP" -j RETURN +iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN +iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN +iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN +iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN +iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN +iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN +iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN +iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN +if [ -n "$SLX_PROXY_BLACKLIST" ]; then + for ADDR in $SLX_PROXY_BLACKLIST; do + iptables -t nat -A REDSOCKS -d "$ADDR" -j RETURN + done +fi +iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-port 12345 +iptables -t nat -A PREROUTING -p tcp -j REDSOCKS +iptables -t nat -A OUTPUT -p tcp -j REDSOCKS +iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE +iptables -A INPUT -i br0 -p tcp --dport 12345 -j DROP + diff --git a/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service b/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service index 0d537e2a..d597fa4b 100644 --- a/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service +++ b/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service @@ -4,4 +4,4 @@ Description=Mount NFS Share [TEST] [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/opt/openslx/scripts/mountexport +ExecStart=/opt/openslx/scripts/systemd-mount_export diff --git a/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service b/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service index a7d6c324..0b198476 100644 --- a/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service +++ b/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service @@ -4,7 +4,7 @@ Description=DHCP Client [Service] Type=forking PIDFile=/run/udhcpc/udhcpc.%I.pid -ExecStart=/opt/openslx/scripts/dhcp++ %I +ExecStart=/opt/openslx/scripts/systemd-udhcpc++ %I ExecStopPost=/bin/rm /run/udhcpc/udhcpc.%I.pid [Install] 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 index 8746629c..cfaa7af8 100644 --- a/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.service +++ b/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.service @@ -1,5 +1,5 @@ [Unit] -Description=Mount vm-store NFS +Description=Mount VM store per NFS After=download-config.service network.target Requires=network.target DefaultDependencies=no @@ -7,4 +7,4 @@ ConditionPathExists=/run/udhcpc/network-ready [Service] Type=oneshot -ExecStart=/opt/openslx/bin/mount-lib-virt +ExecStart=/opt/openslx/scripts/systemd-mount_vm_store diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/mount-lib-virt b/remote/modules/vmchooser/data/opt/openslx/bin/mount-lib-virt deleted file mode 100755 index 27a8f55c..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/bin/mount-lib-virt +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -. /opt/openslx/config || exit 1 - -export PATH="$PATH:/opt/openslx/bin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/usr/sbin" - -mkdir -p /var/lib/virt -mount -t nfs -o ro,async,nolock,vers=3 "$SLX_VM_NFS" /var/lib/virt diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/systemd-mount_vm_store b/remote/modules/vmchooser/data/opt/openslx/scripts/systemd-mount_vm_store new file mode 100755 index 00000000..27a8f55c --- /dev/null +++ b/remote/modules/vmchooser/data/opt/openslx/scripts/systemd-mount_vm_store @@ -0,0 +1,8 @@ +#!/bin/bash + +. /opt/openslx/config || exit 1 + +export PATH="$PATH:/opt/openslx/bin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/usr/sbin" + +mkdir -p /var/lib/virt +mount -t nfs -o ro,async,nolock,vers=3 "$SLX_VM_NFS" /var/lib/virt -- cgit v1.2.3-55-g7522