Qual è il modo migliore per inviare una patch per riparare tutti i danni causati da LP: # 600941 ?
Chiedo perché LP: # 600941 è stato inserito in tutte le versioni di Ubuntu ancora supportate in questo momento. Dovrei scegliere una versione particolare ed eseguirla ubuntu-bug
? Quella versione dovrebbe essere LTS o Oneiric o Precise (come posso ottenere Precise se ne ho bisogno?)
La storia è che dopo che è stato espulso tutti i nostri sistemi hanno iniziato a sperimentare fallimenti di riavvio di Nagios nrpe.
Comandi come /etc/init.d/nagios-nrpe-server restart
causerebbe l'arresto di nrpe ma non il riavvio.
L'ho rintracciato nel modo in cui lo /etc/init.d/nagios-nrpe-server
script sta chiamando start-stop-daemon
.
Il problema è che la stanza "stop" nello /etc/init.d/nagios-nrpe-server
script prima chiama start-stop-daemon che invia SIGTERM a nrpe e quindi attende solo un secondo.
Se entro quel momento nrpe non è uscito, il file pid continuerà a esistere e lo /etc/init.d/nagios-nrpe-server
script lo rimuoverà.
Peggio ancora se /etc/init.d/nagios-nrpe-server restart
viene usato non solo il file pid verrà rimosso, il tentativo di riavviare nrpe fallirà a condizione che il demone nrpe sia ancora in ritardo nello spegnimento.
Il tentativo di avvio in tali circostanze fallirà perché nrpe sarà comunque associato a un socket e il secondo tentativo di associazione provocherà l'interruzione dell'avvio di nrpe.
Avrebbero dovuto chiedersi perché ci fosse un commento su "a volte il file pid non viene rimosso".
Avrebbero dovuto testare su sistemi che hanno un carico pesante e quindi tempi di risposta nrpe lenti.
La correzione è aggiungere --retry 10
o simili all'invocazione distart-stop-daemon ... --stop ...
Grazie