Files
gitea-pages/admin-guide/legacy/misc/puppetmasteratpsi.rst
2021-05-05 14:24:27 +02:00

2.3 KiB

Puppetmaster At PSI

Procedure

Manual Check Whether Puppetmaster Is Running

Contemporary, the puppetmasterd process often crashes and automatic restart fails. Thus it has to be started manually again. Therefore login to pxeserv01, check whether the process is still running and if not, restart puppetmasterd.

Check whether the puppetmasterd is running:

[root@pxeserv01 ~]# ps ax | grep puppet
  549 pts/0    S+     0:00 grep puppet
 6641 ?    S      7:53 /bin/bash ./test-and-restart-puppetmaster.sh

It's not running.

Check the logfile. The logfile is situated on AFS:

# tail /afs/psi.ch/service/linux/puppet/var/log/puppetmaster.log
...
Mon Jan 26 09:22:27 +0100 2009 Puppet (notice): Compiled configuration for slsnedi1.psi.ch in 0.09 seconds
Mon Jan 26 09:24:55 +0100 2009 Puppet (notice): Caught TERM; shutting down
Mon Jan 26 09:24:55 +0100 2009 Puppet (notice): Shutting down
Mon Jan 26 09:24:55 +0100 2009 Puppet (err): Could not remove PID file /var/run/puppet/puppetmasterd.pid
Mon Jan 26 09:25:01 +0100 2009 Puppet (err): Could not create PID file: /var/run/puppet/puppetmasterd.pid

In this case remove /var/run/puppet/puppetmasterd.pid and restart the server:

# rm /var/run/puppet/puppetmasterd.pid
# /etc/init.d/puppetmaster restart

Check again whether the puppetmasterd is running:

# [root@pxeserv01 ~]# ps ax | grep puppet
  549 pts/0    S+     0:00 grep puppet
 6641 ?    S      7:53 /bin/bash ./test-and-restart-puppetmaster.sh
31599 ?    Ssl    0:03 /usr/bin/ruby /usr/sbin/puppetmasterd \
                --logdest=/afs/psi.ch/service/linux/puppet/var/log/puppetmaster.log

Finally, test it on a client:

# [root@pc7377 ~]# psi-puppet
...
puppetd was running successfully

Automatic Check Whether Puppetmaster Is Running

On pxeserv01 the script /root/test-and-restart-puppetmaster.sh continuously observes the puppetmasterd and should restart it when it's hanging.

The script is started in the following way:

# [root@pxeserv01 etc]# nohup /root/test-and-restart-puppetmaster.sh &

The output is written to:

  • $HOME/nohup.out

    The logfile.

  • /dev/shm/puppetwatch.1

  • /dev/shm/puppetwatch.2