Каков наилучший способ отправить исправление, чтобы исправить все повреждения, вызванные LP: # 600941 ?
Я спрашиваю, потому что LP: # 600941 был помещен в каждую версию Ubuntu все еще поддерживается в это время. Должен ли я выбрать конкретную версию и запустить ее ubuntu-bug
? Если эта версия будет LTS или Oneiric или Precise (как я могу получить Precise, если мне это нужно?)
История состоит в том, что после ее выталкивания все наши системы начали испытывать ошибки перезапуска Nagios nrpe.
Команды, подобные /etc/init.d/nagios-nrpe-server restart
, заставят nrpe останавливаться, но не перезапускаться.
Я отследил это так, как вызывается /etc/init.d/nagios-nrpe-server
скрипт start-stop-daemon
.
Проблема в том, что строфа «stop» в скрипте /etc/init.d/nagios-nrpe-server
сначала вызывает start-stop-daemon, который отправляет SIGTERM в nrpe, а затем ждет только одну секунду.
Если nRpe не вышло к тому времени, файл pid все равно будет существовать, и скрипт /etc/init.d/nagios-nrpe-server
удалит его.
Хуже, если используется /etc/init.d/nagios-nrpe-server restart
, будет удален не только файл pid, попытка перезапуска nrpe завершится с ошибкой при условии, что демон nrpe все равно будет закрыт при закрытии.
Попытка запустить в этих обстоятельствах не удастся, так как nrpe все равно будет привязан к сокету, а вторая попытка привязки будет запустите запуск nrpe.
Они должны были спросить, почему был комментарий о «иногда файл pid не удаляется».
Они должны были протестировать системы, которые имеют большую нагрузку и, следовательно, медленное время отклика nrpe.
Исправление состоит в том, чтобы добавить --retry 10
или такое к вызову start-stop-daemon ... --stop ...
Спасибо
Первое спасибо за всю работу с ошибками, которую вы сделали до сих пор.
Лучший способ - сообщить о новой ошибке с точным и дать понять, что это регресс, вызванный LP: # 600941. Дайте ему тег 'regression-updates'. Также было бы неплохо упомянуть об этом в комментариях к LP: # 600941, чтобы пользователи увидели это, когда они исследуют попадание регрессии сами. Тег регрессии-обновлений гарантирует, что ваша ошибка будет сгруппирована и быстро отреагирует. Итак, давайте сначала начнем с этого:
ubuntu-bug nagios-nrpe-server
Поскольку он влияет на все выпуски, неважно, где вы это делаете (лучше, чем вы это делаете на платформе, вы можете оставить один, чтобы вы могли проверить исправления).
В настоящее время точные ISO, вероятно, не устанавливаются, но вы можете попробовать их здесь:
http://cdimage.ubuntu.com/daily/current/
Вы также можете перенести однорисковую машину на точный, отредактировав источники в /etc/apt/sources.list* и изменив однорисковое на точное, затем выполнив apt-get update && apt-get dist-upgrade. Переходы и большие изменения продолжаются, поэтому не делайте этого в производственной системе!
Чтобы отправить исправление, лучший способ - использовать Ubuntu Distributed Development. Назначьте ошибку себе, а затем выполните следующие действия:
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 - ваша новая ошибка #
Вы можете найти больше о том, как это сделать на http: //cdimage.ubuntu.com/daily/current/
Пожалуйста, не стесняйтесь обращаться в # ubuntu-devel и / или # ubuntu-server на Freenode.