¿Cuál es la mejor manera de enviar un parche para reparar todo el daño que causa LP: # 600941 ?
Pregunto porque LP: # 600941 se puso en todas las versiones de Ubuntu que todavía son compatibles en este momento. ¿Debo elegir una versión en particular y ejecutarla ubuntu-bug? ¿Debería esa versión ser LTS o Oneiric o Precise (¿cómo puedo obtener Precise si lo necesito?)
La historia es que después de que fue expulsado, todos nuestros sistemas comenzaron a experimentar fallas de reinicio de Nagios nrpe.
Comandos como /etc/init.d/nagios-nrpe-server restart
haría que nrpe se detuviera pero no se reiniciara.
Rastreé esto hasta la forma en que el /etc/init.d/nagios-nrpe-serverguión está llamando start-stop-daemon.
El problema es que la estrofa "stop" en el /etc/init.d/nagios-nrpe-serverscript primero llama a start-stop-daemon que envía SIGTERM a nrpe y luego espera solo un segundo.
Si nrpe no ha salido para ese momento, el archivo pid seguirá existiendo y el /etc/init.d/nagios-nrpe-serverscript lo eliminará.
Peor aún si /etc/init.d/nagios-nrpe-server restartse usa, no solo se eliminará el archivo pid, el intento de reiniciar nrpe fallará siempre que el demonio nrpe aún se retrase en el cierre.
El intento de iniciar en esas circunstancias fallará porque nrpe aún estará vinculado a un socket y el segundo intento de vinculación hará que el inicio de nrpe se cancele.
Deberían haberse preguntado por qué había un comentario sobre "a veces el archivo pid no se elimina".
Deberían haber probado en sistemas que tienen una carga pesada y, por lo tanto, tiempos de respuesta nrpe lentos.
La solución es agregar --retry 10o tal a la invocación destart-stop-daemon ... --stop ...
Gracias
fuente
