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

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

¿Cuál es la mejor manera de enviar un parche para reparar todos los daños queLP: #600941causas?

Lo pregunto porque LP: #600941 se incluyó en todas las versiones de Ubuntu que aún son compatibles en este momento. ¿Debo elegir una versión particular y ejecutarla ubuntu-bug? ¿Esa versión debería ser LTS, Oneiric o Precise (¿cómo puedo obtener Precise si la necesito?)

La historia es que después de que fue eliminado, 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 /etc/init.d/nagios-nrpe-serverllama el script start-stop-daemon.

El problema es que la estrofa "detener" 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 en 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, sino que el intento de reiniciar nrpe fallará siempre que el demonio nrpe aún tarde en cerrarse.

El intento de iniciar en esas circunstancias fallará porque nrpe seguirá vinculado a un socket y el segundo intento de vinculación provocará que se cancele el inicio de nrpe.

Deberían haberse preguntado por qué había un comentario sobre "a veces el archivo pid no se elimina".

Deberían haberlo probado en sistemas que tienen una carga pesada y, por lo tanto, tiempos de respuesta lentos.

La solución es agregar --retry 10o algo así a la invocación destart-stop-daemon ... --stop ...

Gracias

Respuesta1

Primero, gracias por todo el trabajo de errores que has realizado hasta ahora. ¡Es genial que quieras involucrarte en la corrección de este error!

La mejor manera es informar un nuevo error en precision y dejar claro que se trata de una regresión causada por LP:#600941. Póngale la etiqueta "actualizaciones de regresión". También sería bueno mencionarlo en los comentarios de LP:#600941, para que los usuarios vean que cuando estén investigando, ellos mismos realicen la regresión. La etiqueta regression-updates garantizará que su error sea clasificado y respondido rápidamente. Entonces sí, primero comience con esto:

ubuntu-bug nagios-nrpe-server

Dado que afecta a todas las versiones, no importa dónde lo hagas (es mejor que lo hagas en una plataforma que puedas dejar en paz para poder verificar las correcciones).

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

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

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

Para enviar la solución, la mejor manera es utilizar Ubuntu Distributed Development. Asígnate el error y luego sigue 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 enhttps://wiki.ubuntu.com/DistributedDevelopment

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

información relacionada