
全てのダメージを修復するためのパッチを提出する最良の方法は何ですか?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 を呼び出し、これが nrpe に SIGTERM を送信し、その後 1 秒だけ待機することです。
その時点で nrpe が終了していない場合は、pid ファイルはまだ存在するため、/etc/init.d/nagios-nrpe-server
スクリプトによって削除されます。
さらに悪いことに、/etc/init.d/nagios-nrpe-server restart
を使用すると、pid ファイルが削除されるだけでなく、nrpe デーモンのシャットダウンがまだ遅れている場合は、nrpe を再起動しようとすると失敗します。
このような状況下での起動の試行は失敗します。これは、nrpe がまだソケットにバインドされており、2 回目のバインド試行によって nrpe の起動が中止されるためです。
「pid ファイルが削除されないことがある」というコメントがなぜあったのか疑問に思うべきでした。
負荷が高く、したがって nrpe 応答時間が遅いシステムでテストする必要がありました。
修正方法は、--retry 10
呼び出しにまたはなどを追加することです。start-stop-daemon ... --stop ...
ありがとう
答え1
まず、これまで行ってきたバグ修正作業に感謝します。このバグ修正に参加していただけるのは素晴らしいことです。
最善の方法は、precise に対して新しいバグを報告し、それが LP:#600941 によって引き起こされたリグレッションであることを明確にすることです。タグ「regression-updates」を付けます。LP:#600941 のコメントで言及するのも良いでしょう。そうすれば、ユーザーがリグレッションに遭遇したかどうか自分で調べるときに、そのタグが目に入ります。regression-updates タグを付けると、バグがトリアージされ、迅速に対応されます。まずは、次のことから始めましょう。
ubuntu-bug nagios-nrpe-server
これはすべてのリリースに影響するため、どこで実行しても問題ありません (修正を検証できるように、そのままにしておけるプラットフォームで実行することをお勧めします)。
現時点では正確な ISO はインストールできない可能性がありますが、ここで試すことができます:
http://cdimage.ubuntu.com/daily/current/
/etc/apt/sources.list* のソースを編集し、oneiric を precise に変更してから を実行することで、oneiric マシンを precise に移行することもできます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/分散開発
Freenode の #ubuntu-devel や #ubuntu-server でも遠慮なく質問してください。