Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 74cefc9d

Añadido por Ismael Campos Suárez hace más de 8 años

Se modifica sinc_puppet para resolver problemas cuando se matan procesos anteriores y problemas con certificados en algunos casos.

Ver diferencias:

ubuntu/trusty/all/linex-ubuntu-puppet/usr/share/linex-ubuntu-puppet/sinc_puppet
# Desde AdministracionSI no colocamos el fichero directamente en /etc/network/if-up.d/. En su lugar se coloca sinc-puppet para evitar retardos en la activación de interfaces de red.
# Esteban M. Navas Martín
# Fecha última modificación: 20/12/2016
# Modificado por Administracionsi: 03/02/2017
export DEBIAN_FRONTEND=noninteractive
export VERSION=2.15
......
stopped_processes=$(ps auwx | awk 'NR>1 && $8 ~ "T" {print $2}')
if [ "$stopped_processes" ]; then kill -9 $stopped_processes; fi
#Definimos fichero de lock
lockfile=/tmp/sincpuppet
# Matamos todos los procesos de sinc_puppet excepto el último que se haya
sinc_puppet_processes=$(pgrep -c sinc_puppet)
if [ "$sinc_puppet_processes" -gt "1" ]; then kill -9 $(pgrep sinc_puppet | head -n -1); fi
if [ "$sinc_puppet_processes" -gt "1" ]; then
kill -9 $(ps -ef|grep "sinc_puppet"|grep -v grep| awk '{print $2}' |grep -v $$) 2>/dev/null
#Si matamos con kill -9 todos los procesos sinc_puppet debemos borrar fichero de lock porque sino el proceso actual muere.
lockfile-remove $lockfile
fi
# Nos aseguramos de que sólo exista una instancia de sinc_puppet corriendo
lockfile=/tmp/sincpuppet
# Eliminar fichero de bloqueo al salir
trap "lockfile-remove $lockfile; exit" INT TERM EXIT
......
if [ $? -eq "0" ]; then
dosync $force $now
echo "Si existe el certificado uuid y no se consigue sincronizar. Se sincroniza la hora, se genera un nuevo uuid y se borran todos los certificados dentro de /var/lib/puppet/ssl"
ntpdate -u servidor 2>/dev/null
uuid=$(/usr/bin/uuidgen -t) && sed -i "s/certname=.*/certname=$uuid/" /usr/share/linex-ubuntu-puppet/puppet.conf
find /var/lib/puppet/ssl/ -type f -name *.pem -exec rm -f {} \;
dosync $force $now
else
[ -f /var/lib/puppet/state/puppetdlock ] && rm -f /var/lib/puppet/state/puppetdlock
uuid=$(/usr/bin/uuidgen -t) && sed -i "s/certname=.*/certname=$uuid/" /usr/share/linex-ubuntu-puppet/puppet.conf

Exportar a: Unified diff