Как отправить патч, чтобы исправить весь ущерб, нанесенный LP: # 600941?

9

Как лучше всего отправить патч, чтобы исправить все повреждения, которые наносит 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.

Проблема заключается в том, что /etc/init.d/nagios-nrpe-serverраздел «stop» в скрипте сначала вызывает 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 ...

Спасибо

nutznboltz
источник

Ответы:

14

Сначала спасибо за всю работу над ошибками, которую вы проделали до сих пор. Здорово, что вы хотите принять участие в исправлении этой ошибки!

Лучший способ - сообщить о новой ошибке в точности и дать понять, что это регрессия, вызванная LP: # 600941. Дайте ему тег 'регрессионные обновления'. Было бы также хорошо упомянуть об этом в комментариях к LP: # 600941, чтобы пользователи увидели это, когда они сами исследуют, как совершить регрессию. Тег регрессионных обновлений обеспечит быстрое устранение ошибки. Так что да, сначала начните с этого:

ubuntu-bug nagios-nrpe-server

Поскольку это влияет на все выпуски, не имеет значения, где вы это делаете (лучше, если вы делаете это на платформе, которую вы можете оставить в покое, чтобы вы могли проверить исправления).

Сейчас точные ISO-образы, вероятно, не устанавливаются, но вы можете попробовать их здесь:

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

Вы также можете перевести одноироговую машину на точную, отредактировав источники в /etc/apt/sources.list* и изменив oneiric на точную, а затем выполните 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 - ваша новая ошибка

Вы можете найти больше информации о том, как это сделать, по адресу https://wiki.ubuntu.com/DistributedDevelopment

Пожалуйста, не стесняйтесь заходить и спрашивать также в # ubuntu-devel и / или # ubuntu-server на Freenode.

SpamapS
источник
Спасибо за всю эту замечательную информацию. Я посмотрю, смогу ли я использовать это в будущем.
Nutznboltz
Я приложил ваш список вещей, которые нужно сделать, к нашей внутренней системе заявок Atlassian, чтобы не пропустить это.
Nutznboltz
Пока у меня есть LP: # 896388 на месте.
Nutznboltz
1
Повороты из вас обманули меня тратить мое время, см ubuntuforums.org/showthread.php?p=11489142
nutznboltz
Nutznboltz, я не думаю, что вы потратили впустую свое время вообще! Как сказал Стрэббер, он хотел бы, чтобы ваше исправление было принято в Debian. Это довольно нормальный ответ и важный шаг в процессе .. в противном случае он может регрессировать в следующем выпуске. Ваша работа очень ценится, и я уверен, что ваше исправление будет принято.
SpamapS