diff --git a/xCAT/postscripts/mkresolvconf b/xCAT/postscripts/mkresolvconf index 8b4b58d69..39cf9c06a 100755 --- a/xCAT/postscripts/mkresolvconf +++ b/xCAT/postscripts/mkresolvconf @@ -17,6 +17,7 @@ conf_file_bak="/etc/resolv.conf.bak" # get values set when the myxcatpost_ 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 "$master" ] && [ -n "$domain" ]; then @@ -24,7 +25,15 @@ if [ -n "$master" ] && [ -n "$domain" ]; then #logger -t xcat "Created /etc/resolv.conf file on $node." cp $conf_file $conf_file_bak > /dev/null 2>&1 echo "search $domain" >$conf_file - echo "nameserver $master" >>$conf_file + if [[ "$nameservers" != "" ]]; then + for ns in ${nameservers//,/ }; do + grep -q $ns $conf_file || \ + echo "nameserver ${ns//$master}" >>$conf_file + done + else + echo "nameserver $master" >>$conf_file + fi + else logger -t xcat -p local4.err "Could not create resolv.conf on $node." exit 1