diff --git a/Makefile b/Makefile index bed8b130..d635833d 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,7 @@ files: all # cp -r tftpboot/* /var/lib/tftpboot/warewulf/ipxe/ # restorecon -r /var/lib/tftpboot/warewulf cp -r overlays /var/warewulf/ - chmod +x /var/warewulf/overlays/system/default/init.ww + chmod +x /var/warewulf/overlays/system/default/init chmod 600 /var/warewulf/overlays/system/default/etc/ssh/ssh* chmod 644 /var/warewulf/overlays/system/default/etc/ssh/ssh*.pub.ww mkdir -p /var/warewulf/overlays/system/default/warewulf/bin/ diff --git a/overlays/system/default/init.ww b/overlays/system/default/init similarity index 77% rename from overlays/system/default/init.ww rename to overlays/system/default/init index 05f90175..58c60bfb 100755 --- a/overlays/system/default/init.ww +++ b/overlays/system/default/init @@ -5,24 +5,14 @@ # # Edit at your own risk! DANGER DANGER. -WWCONTAINER={{$.Container}} -export WWCONTAINER -WWHOSTNAME={{$.Id}} -export WWHOSTNAME -WWROOT={{$.Root}} -export WWROOT -WWINIT={{$.Init}} -export WWINIT -WWIPMI_IPADDR="{{$.IpmiIpaddr}}" -export WWIPMI_IPADDR -WWIPMI_NETMASK="{{$.IpmiNetmask}}" -export WWIPMI_NETMASK -WWIPMI_GATEWAY="{{$.IpmiGateway}}" -export WWIPMI_GATEWAY -WWIPMI_USER="{{$.IpmiUserName}}" -export WWIPMI_USER -WWIPMI_PASSWORD="{{$.IpmiPassword}}" -export WWIPMI_PASSWORD + +if test -f "/warewulf/config"; then + . /warewulf/config +else + echo "ERROR: Warewulf configuration file not found... rebooting in 1 minute" + sleep 60 + /sbin/reboot +fi echo "Warewulf v4 is now booting: $WWHOSTNAME" echo diff --git a/overlays/system/default/warewulf/config.ww b/overlays/system/default/warewulf/config.ww new file mode 100644 index 00000000..5a33472a --- /dev/null +++ b/overlays/system/default/warewulf/config.ww @@ -0,0 +1,9 @@ +WWCONTAINER={{$.Container}} +WWHOSTNAME={{$.Id}} +WWROOT={{$.Root}} +WWINIT={{$.Init}} +WWIPMI_IPADDR="{{$.IpmiIpaddr}}" +WWIPMI_NETMASK="{{$.IpmiNetmask}}" +WWIPMI_GATEWAY="{{$.IpmiGateway}}" +WWIPMI_USER="{{$.IpmiUserName}}" +WWIPMI_PASSWORD="{{$.IpmiPassword}}" diff --git a/overlays/system/default/warewulf/init.d/20-loopback b/overlays/system/default/warewulf/init.d/20-loopback index 5c000de3..01791174 100644 --- a/overlays/system/default/warewulf/init.d/20-loopback +++ b/overlays/system/default/warewulf/init.d/20-loopback @@ -1,4 +1,6 @@ #!/bin/sh +. /warewulf/config + echo "Bringing up lo:127.0.0.1" /sbin/ip link set dev lo up diff --git a/overlays/system/default/warewulf/init.d/50-ipmi b/overlays/system/default/warewulf/init.d/50-ipmi index d6e7682e..0a2b3c88 100755 --- a/overlays/system/default/warewulf/init.d/50-ipmi +++ b/overlays/system/default/warewulf/init.d/50-ipmi @@ -1,5 +1,7 @@ #!/bin/bash +. /warewulf/config + export PATH=/usr/bin:/bin:/usr/sbin:/sbin if [ -z "$WWIPMI_IPADDR" ]; then diff --git a/overlays/system/default/warewulf/init.d/75-vnfs_fixes b/overlays/system/default/warewulf/init.d/75-vnfs_fixes index 1674d8d8..5ce5b735 100644 --- a/overlays/system/default/warewulf/init.d/75-vnfs_fixes +++ b/overlays/system/default/warewulf/init.d/75-vnfs_fixes @@ -1,6 +1,6 @@ #!/bin/sh - +. /warewulf/config # This will eventually be optional if true; then diff --git a/overlays/system/default/warewulf/init.d/80-wwclient b/overlays/system/default/warewulf/init.d/80-wwclient index 0563a5b9..184dac4e 100644 --- a/overlays/system/default/warewulf/init.d/80-wwclient +++ b/overlays/system/default/warewulf/init.d/80-wwclient @@ -1,4 +1,6 @@ #!/bin/sh +. /warewulf/config + echo "Starting wwclient" nohup /warewulf/bin/wwclient >/var/log/wwclient.log 2>&1