#!/bin/bash
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
#
#---------------------------------------------------------------------------
#  create an /etc/resolv.conf file on the node
#
#	- this script assumes the nameserver for the node will be
#		the value of the "xcatmaster" attribute (SN as known by
#		the node) or the name of the management node as known
#		by the node.

#---------------------------------------------------------------------------

conf_file="/etc/resolv.conf"
conf_file_bak="/etc/resolv.conf.bak"

# get values set when the myxcatpost_<node> script was run
master=$MASTER_IP  # this is the ip for the nodes xcatmaster attribute
domain=$DOMAIN     # this is the domain name used in this cluster
nameservers=$NAMESERVERS # nameservers defined in the site table
node=$NODE

if [ -n "$LOGLABEL" ]; then
    log_label=$LOGLABEL
else
    log_label="xcat"
fi

if [ -n "$master" ] && [ -n "$domain" ]; then

	#logger -t $log_label "Created /etc/resolv.conf file on $node."
	cp $conf_file $conf_file_bak > /dev/null 2>&1
	echo "search $domain" >$conf_file
    if [[ "$nameservers" != "" ]]; then
        for ns in ${nameservers//,/ }; do
    	    grep -q $ns $conf_file || \
                echo "nameserver ${ns/<xcatmaster>/$master}" >>$conf_file
        done
    else
        echo "nameserver $master" >>$conf_file
    fi

else
	logger -t $log_label -p local4.err "Could not create resolv.conf on $node."
	exit 1
fi

exit 0
