diff options
author | Simon Rettberg | 2013-06-05 16:58:12 +0200 |
---|---|---|
committer | Simon Rettberg | 2013-06-05 16:58:12 +0200 |
commit | e10d936b05d91bd35f4bddc12b125195a99e44e0 (patch) | |
tree | 29afdd7c8e5a846f9f3c340a9e716d4ff8568016 /remote/rootfs/rootfs-stage32/data/opt/openslx/bin | |
parent | merge (diff) | |
download | tm-scripts-e10d936b05d91bd35f4bddc12b125195a99e44e0.tar.gz tm-scripts-e10d936b05d91bd35f4bddc12b125195a99e44e0.tar.xz tm-scripts-e10d936b05d91bd35f4bddc12b125195a99e44e0.zip |
Fix Network setup when using bridge
Unify coding style
Diffstat (limited to 'remote/rootfs/rootfs-stage32/data/opt/openslx/bin')
-rwxr-xr-x | remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ | 12 | ||||
-rwxr-xr-x | remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script | 92 |
2 files changed, 99 insertions, 5 deletions
diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ index f3d7d4c2..bda8e7e2 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ @@ -1,10 +1,12 @@ #!/bin/bash -export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin +export PATH="$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin" -NET_IF=$1 -NET_IP=$(ip addr show dev ${NET_IF} | grep "inet " | awk -F " " '{print $2}' | awk -F "/" '{print $1}') +NET_IF="$1" +NET_IP="$(ip addr show dev "${NET_IF}" | grep "inet " | awk -F " " '{print $2}' | awk -F "/" '{print $1}')" UDHCPC_OPTS="" -[ ! -z "$NET_IP" ] && UDHCPC_OPTS=" -r $NET_IP " -/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /etc/openslx/udhcpc.openslx.script -i $NET_IF +[ ! -z "$NET_IP" ] && UDHCPC_OPTS=" -r '$NET_IP' " +echo "udhcp++: running on $NET_IF with additional params $UDHCPC_OPTS" >> "/tmp/udhcpclog" +/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /opt/openslx/bin/udhcpc.openslx.script -i "$NET_IF" + diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script new file mode 100755 index 00000000..83877adb --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/udhcpc.openslx.script @@ -0,0 +1,92 @@ +#!/bin/bash +# ----------------------------------------------------------------------------- +# +# Copyright (c) 2011 - OpenSLX GmbH +# +# This program 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 suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# +# Mini-Linux Toolkit +# +# ----------------------------------------------------------------------------- + + +RESOLV_CONF="/etc/resolv.conf" +IP_CONF="/tmp/udhcpc_ip_config" + +export PATH=$PATH:/opt/openslx/sbin:/opt/openslx/bin + +echo "$interface -> $ip" >> "/tmp/udhcpclog" + +case $1 in + bound|renew) + + [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" + [ -n "$subnet" ] && NETMASK="netmask $subnet" + + ip addr add $ip/$(ipcalc -s -p $ip $subnet|sed s/.*=//) dev $interface + ip route add default via $router + + echo "ip=$ip" > $IP_CONF + echo "subnet=$subnet" >> $IP_CONF + echo "broadcast=$broadcast" >> $IP_CONF + echo "gateway=$router" >> $IP_CONF + + # Update resolver configuration file + R="" + if [ -n "$domain" ]; then + R="domain $domain +" + else + R="domain lp.ruf.uni-freiburg.de +search lp.ruf.uni-freiburg.de +" + fi + count=1; + for i in $dns; do + echo "$0: Adding DNS $i" + R="${R}nameserver $i +" + count=$((count+1)); + done + + if [ -x /sbin/resolvconf ]; then + echo -n "$R" | resolvconf -a "${interface}.udhcpc" + else + echo -n "$R" > "$RESOLV_CONF" + fi + + # 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.service + # Write to openslx-config + echo "# Config written by openslx-dhcp-script" >> /opt/openslx/config + echo "SLX_DNS='$dns'" >> /opt/openslx/config + echo "SLX_HOSTNAME='$(hostname)'" >> /opt/openslx/config + + ;; + + deconfig) + + ;; + + leasefail) + echo "$0: Lease failed: $message" + ;; + + nak) + echo "$0: Received a NAK: $message" + ;; + + *) + echo "$0: Unknown udhcpc command: $1"; + exit 1; + ;; +esac |