Revisión 74cefc9d
Añadido por Ismael Campos Suárez hace más de 8 años
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
Se modifica sinc_puppet para resolver problemas cuando se matan procesos anteriores y problemas con certificados en algunos casos.