#!/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" # pmatch determines if 1st argument string is matched by 2nd argument pattern pmatch () { case $1 in $2) return 0;; # zero return code means string matched by pattern esac return 1 # non-zero return code means string not matched by pattern } 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 [ "$NODESETSTATE" = "statelite" ]; then cp -a $conf_file $conf_file_org echo "" > $conf_file else if [ ! -f $conf_file_org ]; then mv -f $conf_file $conf_file_org else mv -f $conf_file $conf_file_backup fi 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 [ "$NODESETSTATE" = "statelite" ]; then cp -a $conf_file $conf_file_org echo "" > $conf_file else if [ ! -f $conf_file_org ]; then mv -f $conf_file $conf_file_org else mv -f $conf_file $conf_file_backup fi fi echo "server $master" >$conf_file fi OS_TYPE=`uname` if [ $OS_TYPE = 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 ( pmatch $OSVER "sles*" ) || ( pmatch $OSVER "suse*" ) || [ -f /etc/SuSE-release ] || ( pmatch $OSVER "ubuntu*" ); then SERVICE=ntp fi #service ntpd restart service $SERVICE stop #ntpdate program is deprecated on SuSE if ( pmatch $OSVER "sles*" ) || ( pmatch $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 /usr/sbin/chrctcp -S -a xntpd fi exit $?