From: davidplunkett Date: Wed, 6 Feb 2019 23:05:35 +0000 (+0000) Subject: add local subnet to dhcp.conf X-Git-Tag: 1.0.0~34 X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F78%2F378%2F1;p=redfish.git add local subnet to dhcp.conf Change-Id: I37ab850c5ecb5c629e5424e18006024bea55ef5e Signed-off-by: davidplunkett --- diff --git a/install_server_os.sh b/install_server_os.sh index 9e687cf..7f723b6 100755 --- a/install_server_os.sh +++ b/install_server_os.sh @@ -89,7 +89,7 @@ if [ -n "$RCFILE" ] && [ -f "$RCFILE" ]; then fi # CHECK A FEW REQUIRED VARIABLES - BUT NOT ALL -CHECKLIST="SRV_NAME SRV_OOB_IP SRV_OOB_USR SRV_OOB_PWD SRV_IPXE_INF BUILD_WEBPORT" +CHECKLIST="SRV_NAME SRV_OOB_IP SRV_SUBNET SRV_OOB_USR SRV_OOB_PWD SRV_IPXE_INF BUILD_WEBPORT" for VAR in $CHECKLIST; do if [ -z "${!VAR}" ] ; then echo "ERROR: Invalid or missing variable [$VAR] = [${!VAR}] in rcfile [$RCFILE]" @@ -253,6 +253,22 @@ subnet $SRV_SUBNET netmask $SRV_NETMASK { } EOF +LOCAL_INF=$(ip route get $SRV_IP | grep "$SRV_IP" | cut -f 5 -d ' ') +LOCAL_SUBNET=$(route -n | grep " U " | grep "$LOCAL_INF" | awk '{print $1}') +LOCAL_NETMASK=$(route -n | grep " U " | grep "$LOCAL_INF" | awk '{print $3}') +echo "Local interface to access $SRV_IP is [$LOCAL_INF] with subnet/mask [$LOCAL_SUBNET/$LOCAL_NETMASK]" + +if [ "$SRV_SUBNET" != "$LOCAL_NET" ]; then + echo "Updating dhcp configuration [$DHCP_ROOT/dhcpd.conf] with local subnet [$LOCAL_SUBNET]" + perl -i -p0e "s/^subnet $LOCAL_SUBNET .*?\n\}\n//gms" $DHCP_ROOT/dhcpd.conf + cat >>$DHCP_ROOT/dhcpd.conf <