xcat-core/xCAT/postscripts/servicenode
jbjohnso c99d72a179 Initial xCAT 2.0 import
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@2 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2007-10-26 22:44:33 +00:00

242 lines
5.5 KiB
Bash
Executable File

#!/bin/ksh
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
#egan@us.ibm.com
#(C)IBM Corp
#
. $XCATROOT/lib/functions
RESNAME=$(whatismyres2 $NODE)
NFS=$(tabdb $NODERESTAB $RESNAME $noderes_nfs_install)
MYMASTER=$(tabdb $NODERESTAB $RESNAME $noderes_config_server)
DHCP=0
TFTP=0
CONS=0
INSTALL=0
VNFS=0
SNMP=0
SYSLOG=0
NTP=0
DNS=0
WULF=0
for i in $*
do
export $(echo $i | tr '[:lower:]' '[:upper:]')=1
done
if [ "$VNFS" = "1" ]
then
logger -t xcat "Install: setup /srv/vnfs"
cd /
mkdir -p /srv/vnfs
echo "$MYMASTER:/srv/vnfs /srv/vnfs nfs timeo=14,intr 1 2" >>/etc/fstab
logger -t xcat "Install: copying /vnfs"
mkdir -p /vnfs
mkdir -p /vnfstmp
mount -r -o nolock $NFS:/vnfs /vnfstmp 2>&1 | logger -t xcat
cd /vnfstmp
find . -print | cpio -dump /vnfs 2>&1 | logger -t xcat
cd /
umount /vnfstmp
rmdir /vnfstmp
logger -t xcat "Install: Setup NFS for /vnfs"
case "$OSVER" in
sles[89]|suse8*|suse9*|suse10*)
echo "/vnfs *(ro,sync,no_root_squash)" >>/etc/exports
chkconfig -a nfslock 2>&1 | logger -t xcat
chkconfig -a nfsserver 2>&1 | logger -t xcat
;;
rh*)
echo "/vnfs *(ro,sync,no_root_squash)" >>/etc/exports
chkconfig --level 345 nfs on 2>&1 | logger -t xcat
chkconfig --level 345 nfslock on 2>&1 | logger -t xcat
;;
esac
fi
if [ "$TFTP" = "1" ]
then
logger -t xcat "Install: Setup TFTPD"
cd /
mkdir -p $TFTPDIR
echo "$MYMASTER:$TFTPDIR $TFTPDIR nfs timeo=14,intr 1 2" >>/etc/fstab
case "$OSVER" in
sles[89]|suse8*|suse9*|suse10*)
cp $XCATROOT/rc.d/atftpd.suse /etc/init.d/atftpd
cd /usr/sbin
ln -s /etc/init.d/atftpd rcatftpd
chkconfig -a atftpd 2>&1 | logger -t xcat
;;
rh*)
cp $XCATROOT/rc.d/atftpd /etc/rc.d/init.d/atftpd
chkconfig --level 345 atftpd on 2>&1 | logger -t xcat
;;
esac
fi
if [ "$WULF" = "1" ]
then
logger -t xcat "Install: Setup warewulf"
case "$OSVER" in
sles[89]|suse8*|suse9*|suse10*)
#cp $XCATROOT/rc.d/wwautosyncd.suse /etc/init.d/wwautosyncd
#cd /usr/sbin
#ln -s /etc/init.d/wwautosyncd rcwwautosyncd
#chkconfig -a wwautosyncd 2>&1 | logger -t xcat
cp $XCATROOT/rc.d/vnfsd.suse /etc/init.d/vnfsd
cd /usr/sbin
ln -s /etc/init.d/vnfsd rcvnfsd
chkconfig -a vnfsd 2>&1 | logger -t xcat
cp $XCATROOT/rc.d/warewulfd.suse /etc/init.d/warewulf
cd /usr/sbin
ln -s /etc/init.d/warewulf rcwarewulf
chkconfig -a wwwarewulf 2>&1 | logger -t xcat
chkconfig --del wwnewd | logger -t xcat
;;
rh*)
#cp $XCATROOT/rc.d/wwautosyncd /etc/rc.d/init.d/wwautosyncd
#chkconfig --level 345 wwautosyncd on 2>&1 | logger -t xcat
chkconfig --level 345 vnfsd on 2>&1 | logger -t xcat
chkconfig --level 345 warewulf on 2>&1 | logger -t xcat
chkconfig --del wwnewd | logger -t xcat
;;
esac
cd /etc
rm -rf warewulf
mkdir warewulf
echo "$MYMASTER:/etc/warewulf /etc/warewulf nfs timeo=14,intr 1 2" >>/etc/fstab
rm -f /usr/sbin/wwinit
cd /usr/sbin
patch -p0 <$XCATROOT/patch/warewulf/ww26.warewulfd
cd /usr/lib/warewulf/Warewulf
patch -p0 <$XCATROOT/patch/warewulf/ww26.Config.pm
case "$OSVER" in
rh*)
cd /etc/init.d
patch -p0 <$XCATROOT/patch/warewulf/ww26.warewulf.init.d
;;
esac
fi
if [ "$CONS" = "1" ]
then
logger -t xcat "Install: Setup conserver"
case "$OSVER" in
sles[89]|suse8*|suse9*|suse10*)
cp $XCATROOT/rc.d/conserver.suse /etc/init.d/conserver
cd /usr/sbin
ln -s /etc/init.d/conserver rcconserver
chkconfig -a conserver 2>&1 | logger -t xcat
perl -pi -e 's!^CONCONFIG.*!CONCONFIG=/etc/conserver.cf!' /etc/init.d/conserver
;;
rh*)
cp $XCATROOT/rc.d/conserver /etc/rc.d/init.d/conserver
chkconfig --level 345 conserver on 2>&1 | logger -t xcat
perl -pi -e 's!^CONCONFIG.*!CONCONFIG=/etc/conserver.cf!' /etc/rc.d/init.d/conserver
;;
esac
cp -f $XCATROOT/etc/conserver.cf.$(hostname -s) /etc/conserver.cf
fi
if [ "$DHCP" = "1" ]
then
NR=$(
perl -ni -e "print \$1 if m/^subdhcpd\s+$(hostname -s),([^,]*?),([^,]*?),/" <$XCATROOT/etc/site.tab
)
echo "$XCATROOT/sbin/makedhcp $NR >/dev/null 2>&1" >>/etc/rc.local
#echo "perl -pi -e 's/^.*makedhcp.*\\n$//' /etc/rc.local" >>/etc/rc.local
fi
if [ "$DNS" = "1" ]
then
case "$OSVER" in
rh*)
START=$(
grep -n "^#START named.conf" $0 | awk -F: '{print $1}'
)
START=$(($START + 1))
END=$(
grep -n "^#END named.conf" $0 | awk -F: '{print $1}'
)
END=$(($END - $START))
tail +$START $0 | head -$END >/etc/named.conf
MIP=$(host $MYMASTER | head -1 | awk '{print $NF}')
perl -pi -e "s/MYMASTER/$MIP/" /etc/named.conf
cp /etc/named.conf /var/named/chroot/etc
chkconfig --level 345 named on
;;
esac
fi
exit 0
#START named.conf
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forward only;
forwarders {
MYMASTER;
};
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
include "/etc/rndc.key";
#END named.conf