
Qual é a melhor maneira de enviar um patch para consertar todos os danos queLP: #600941causas?
Eu pergunto porque LP: #600941 foi colocado em todas as versões do Ubuntu ainda suportadas no momento. Devo escolher uma versão específica e executá ubuntu-bug
-la? Essa versão deve ser LTS ou Oneiric ou Precise (como posso obter Precise se precisar?)
A história é que depois que ele foi removido, todos os nossos sistemas começaram a apresentar falhas de reinicialização do Nagios nrpe.
Comandos como/etc/init.d/nagios-nrpe-server restart
faria com que o nrpe parasse, mas não reiniciasse.
Eu rastreei isso pela maneira como o /etc/init.d/nagios-nrpe-server
script está chamando start-stop-daemon
.
O problema é que a estrofe "stop" no /etc/init.d/nagios-nrpe-server
script primeiro chama start-stop-daemon, que envia SIGTERM para nrpe e depois espera apenas um segundo.
Se o nrpe não tiver sido encerrado até esse momento, o arquivo pid ainda existirá e o /etc/init.d/nagios-nrpe-server
script o removerá.
Pior ainda, se /etc/init.d/nagios-nrpe-server restart
for usado, não apenas o arquivo pid será removido, mas a tentativa de reiniciar o nrpe falhará, desde que o daemon nrpe ainda esteja atrasado no desligamento.
A tentativa de iniciar nessas circunstâncias falhará porque o nrpe ainda estará vinculado a um soquete e a segunda tentativa de ligação fará com que a inicialização do nrpe seja abortada.
Eles deveriam ter se perguntado por que houve um comentário sobre "às vezes o arquivo pid não é removido".
Eles deveriam ter testado em sistemas com carga pesada e, portanto, tempos de resposta lentos do NRPE.
A correção é adicionar --retry 10
ou tal à invocação destart-stop-daemon ... --stop ...
Obrigado
Responder1
Primeiramente, obrigado por todo o trabalho de bug que você fez até agora. É ótimo que você queira se envolver na correção desse bug!
A melhor maneira é reportar um novo bug com precisão e deixar claro que se trata de uma regressão causada por LP:#600941. Dê a ele a tag 'atualizações de regressão'. Também seria bom mencioná-lo nos comentários de LP:#600941, para que os usuários vejam isso quando estiverem investigando o acerto da regressão. A tag de regressão-updates garantirá que seu bug seja triado e respondido rapidamente. Então sim, primeiro comece com isto:
ubuntu-bug nagios-nrpe-server
Como isso afeta todos os lançamentos, não importa onde você faz isso (é melhor fazer isso em uma plataforma que você possa deixar como está para verificar as correções).
No momento, ISOs precisos provavelmente não são instaláveis, mas você pode experimentá-los aqui:
http://cdimage.ubuntu.com/daily/current/
Você também pode tornar uma máquina onírica precisa editando as fontes em /etc/apt/sources.list* e alterando onírico para preciso e, em seguida, fazendo apt-get update && apt-get dist-upgrade
. Porém, há transições e grandes mudanças acontecendo, então não faça isso em um sistema de produção!
Para enviar a correção, a melhor forma é usar o Ubuntu Distributed Development. Atribua o bug a você mesmo e siga estas etapas:
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 é o seu novo bug #
Você pode encontrar mais sobre como fazer isso emhttps://wiki.ubuntu.com/DistributedDevelopment
Por favor, não hesite em perguntar em #ubuntu-devel e/ou #ubuntu-server no Freenode também.