91 lines
2.5 KiB
Plaintext
91 lines
2.5 KiB
Plaintext
|
#!/bin/sh
|
||
|
# IBM(c) 2013 EPL license http://www.eclipse.org/legal/epl-v10.html
|
||
|
|
||
|
|
||
|
#-------------------------------------------------------------------------------
|
||
|
#=head1 config_puppet_client
|
||
|
#=head2 This command configure the puppet client on a xCAT node.
|
||
|
# It is used by install_puppet_client on Ubuntu and puppet kit on RH.
|
||
|
#=cut
|
||
|
#-------------------------------------------------------------------------------
|
||
|
|
||
|
echo "Configuring pupper client....."
|
||
|
#check if the current node is also a puppet master
|
||
|
ismaster=0
|
||
|
if [ -f /etc/puppet/fileserver.conf ]; then
|
||
|
ismaster=1
|
||
|
fi
|
||
|
|
||
|
#configure the puppet.conf file.
|
||
|
#the pupper server can be passed as an argument or as an environmental variable
|
||
|
#the default is $SITEMASTER
|
||
|
ARGNUM=$#;
|
||
|
if [ $ARGNUM -gt 1 ]; then
|
||
|
if [ $2 = "-s" ]; then
|
||
|
puppet_server=$2
|
||
|
fi
|
||
|
else
|
||
|
if [ -n "$PUPPETSERVER" ]; then
|
||
|
puppet_server=$PUPPETSERVER
|
||
|
fi
|
||
|
fi
|
||
|
if [ -z "$puppet_server" ]; then
|
||
|
puppet_server=$SITEMASTER
|
||
|
fi
|
||
|
|
||
|
echo "puppet_server=$puppet_server"
|
||
|
|
||
|
confname="/etc/puppet/puppet.conf"
|
||
|
if [ ! -f "$confname" ]; then
|
||
|
touch $confname
|
||
|
else
|
||
|
cp -f $confname ${confname}.save
|
||
|
#remove the old configuration if any
|
||
|
sed -i "/# xcat-added-agent-section-start-here/,/# xcat-added-agent-section-end-here/ d" $confname
|
||
|
sed -i "/# xcat-added-main-section-start-here/,/# xcat-added-main-section-end-here/ d" $confname
|
||
|
fi
|
||
|
|
||
|
if [ $ismaster -ne 1 ]; then
|
||
|
grep "\[main\]" $confname
|
||
|
if [ $? -eq 0 ]; then
|
||
|
sed -i "/\[main\]/ a\
|
||
|
# xcat-added-main-section-end-here #" $confname
|
||
|
sed -i "/\[main\]/ a\
|
||
|
certname = $NODE" $confname
|
||
|
sed -i "/\[main\]/ a\
|
||
|
# xcat-added-main-section-start-here #" $confname
|
||
|
else
|
||
|
echo "[main]" >> $confname
|
||
|
echo "# xcat-added-main-section-start-here #" >> $confname
|
||
|
echo " certname=$NODE" >> $confname
|
||
|
echo "# xcat-added-main-section-end-here #" >> $confname
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
grep "\[agent\]" $confname
|
||
|
if [ $? -eq 0 ]; then
|
||
|
sed -i "/\[agent\]/ a\
|
||
|
# xcat-added-agent-section-end-here #" $confname
|
||
|
sed -i "/\[agent\]/ a\
|
||
|
server = $puppet_server" $confname
|
||
|
sed -i "/\[agent\]/ a\
|
||
|
pluginsync = true" $confname
|
||
|
sed -i "/\[agent\]/ a\
|
||
|
# xcat-added-agent-section-start-here #" $confname
|
||
|
else
|
||
|
echo " " >> $confname
|
||
|
echo "[agent]" >> $confname
|
||
|
echo "# xcat-added-agent-section-start-here #" >> $confname
|
||
|
echo " pluginsync = true" >> $confname
|
||
|
echo " server = $puppet_server" >> $confname
|
||
|
echo "# xcat-added-agent-section-end-here #" >> $confname
|
||
|
fi
|
||
|
|
||
|
exit 0
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|