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

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

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

Спасибо

решение1

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

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

ubuntu-bug nagios-nrpe-server

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

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

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

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

Связанный контент