¿Cuál es la forma de enviar un parche para reparar todo el daño que causa LP: # 600941?

9

¿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

nutznboltz
fuente

Respuestas:

14

Primero, gracias por todo el trabajo de error que has hecho hasta ahora. ¡Es genial que te gustaría involucrarte con la corrección de este error!

La mejor manera es informar un nuevo error con precisión y dejar en claro que es una regresión causada por LP: # 600941. Déle la etiqueta 'regresión-actualizaciones'. También sería bueno mencionarlo en los comentarios de LP: # 600941, para que los usuarios lo vean cuando investiguen sobre ellos mismos. La etiqueta de actualizaciones de regresión asegurará que su error se solucione y responda rápidamente. Entonces sí, primero comience con esto:

ubuntu-bug nagios-nrpe-server

Como afecta a todas las versiones, no importa dónde lo haga (es mejor que lo haga en una plataforma que pueda dejar solo para que pueda verificar las correcciones).

En este momento, los ISO precisos probablemente no sean instalables, pero puedes probarlos aquí:

http://cdimage.ubuntu.com/daily/current/

También puede llevar una máquina onírica a precisión editando las fuentes en /etc/apt/sources.list* y cambiando oneiric a preciso, luego haciendo apt-get update && apt-get dist-upgrade. Sin embargo, hay transiciones y grandes cambios, así que no hagas esto en un sistema de producción.

Para enviar la solución, la mejor manera es usar Ubuntu Distributed Development. Asigne el error a usted mismo y luego siga estos pasos:

bzr branch lp:ubuntu/nagios-nrpe
cd nagios-nrpe
<edit files that need editing>
dch -D precise -i 'Fixing regression caused by bug 600941. (LP: #XXXXXX)'
debcommit
bzr push lp:~nutznboltz/ubuntu/precise/nagios-nrpe/fix-lpXXXXXX
bzr lp-propose

XXXXXX es tu nuevo error #

Puede encontrar más información sobre cómo hacer esto en https://wiki.ubuntu.com/DistributedDevelopment

Por favor no dude en venir a preguntar en # ubuntu-devel y / o # ubuntu-server en Freenode también.

SpamapS
fuente
Gracias por toda esta gran información. Veré si puedo hacer un buen uso en el futuro.
nutznboltz
He adjuntado su lista de cosas para hacer a nuestro sistema interno de tickets Atlassian para que no pierda la pista.
nutznboltz
Hasta ahora tengo LP: # 896388 en su lugar.
nutznboltz
1
Resulta que me engañaste para que perdiera el tiempo, mira ubuntuforums.org/showthread.php?p=11489142
nutznboltz el
nutznboltz, no creo que hayas perdido tu tiempo en absoluto! Como dijo stgraber, le gustaría ver su arreglo aceptado en Debian. Esa es una respuesta bastante normal y un paso importante en el proceso ... de lo contrario, puede retroceder en la próxima versión. Su trabajo es muy apreciado, y estoy seguro de que su solución será aceptada.
SpamapS