2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-06-01 19:17:06 +00:00
xcat-core/xCAT/postscripts/mkresolvconf
2018-11-15 17:12:55 +08:00

49 lines
1.4 KiB
Bash
Executable File

#!/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