xcat-core/xCAT/postscripts/setupntp
mxi1 7f3fb77741 -defect 2979871 is fixed;
"cp -a" and " echo '' " are used to emulate "mv -f" on statelite node


git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@6109 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2010-05-14 08:56:47 +00:00

109 lines
2.8 KiB
Bash
Executable File

#!/bin/sh
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
#
#---------------------------------------------------------------------------
# setup NTP configuration on the compute nodes
#
#---------------------------------------------------------------------------
master=$MASTER
setup=0
sitemaster=$SITEMASTER
conf_file="/etc/ntp.conf"
conf_file_org="/etc/ntp.conf.org"
conf_file_backup="/etc/ntp.conf.postbackup"
logger -t xcat "Install: Setup NTP"
# if master is the sitemaster, then use the ntpservers defined in the site
# table, if they exist. If they don't exist, do not setup ntp
# else use the master which should be a service node
if [ "$master" == "$sitemaster" ]; then
if [ $NTPSERVERS ]; then
if [ ! -f $conf_file_org ]; then
mv -f $conf_file $conf_file_org
else
# mv can't work on statelite node
# "cp" and "empty" is used to simulate
cp -a $conf_file $conf_file_backup
echo "" > $conf_file
fi
for i in $(echo $NTPSERVERS | tr ',' ' ')
do
echo "server $i" >>$conf_file
master=$i
done
else
logger -t xcat "Install: $NTPSERVERS don't exist"
exit 0
fi
else
if [ ! -f $conf_file_org ]; then
mv -f $conf_file $conf_file_org
else
cp -a $conf_file $conf_file_backup
echo "" > $conf_file
fi
echo "server $master" >$conf_file
fi
if [[ $OSTYPE = linux* ]]; then
mkdir -p /var/lib/ntp
chown ntp /var/lib/ntp
echo "driftfile /var/lib/ntp/drift
disable auth
restrict 127.0.0.1" >>$conf_file
# default service for redhat/fedora
SERVICE=ntpd
echo $SERVICE
if [[ $OSVER = sles* ]] || [[ $OSVER = suse* ]] || [[ -f /etc/SuSE-release ]]; then
SERVICE=ntp
fi
#service ntpd restart
service $SERVICE stop
#ntpdate program is deprecated on SuSE
if [[ $OSVER = sles* ]] || [[ $OSVER = suse* ]] || [[ -f /etc/SuSE-release ]]; then
logger -t xcat "ntpd -q -g"
ntpd -q -g
if [ "$?" != "0" ]
then
echo
echo " ntpd -q -g failed"
logger -t xcat "ntpd -q -g failed"
fi
else
logger -t xcat "ntpdate -t5 $master "
ntpdate -t5 $master
if [ "$?" != "0" ]
then
echo
echo " ntpdate -t5 $master failed"
logger -t xcat "ntpdate -t5 $master failed"
fi
fi
service $SERVICE start
chkconfig --add $SERVICE >/dev/null 2>&1
chkconfig --level 345 $SERVICE on >/dev/null 2>&1
else
# stop and start AIX ntp
echo "driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
disable auth
broadcastclient
restrict 127.0.0.1" >>$conf_file
stopsrc -s xntpd
logger -t xcat "ntpdate -t5 $master "
ntpdate -t5 $master
if [ "$?" != "0" ]
then
echo
echo " ntpdate -t5 $master failed "
logger -t xcat "ntpdate -t5 $master failed"
fi
startsrc -s xntpd
fi
exit $?