web-dev-qa-db-ja.com

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を呼び出す方法まで追跡しました。

問題は、/etc/init.d/nagios-nrpe-serverスクリプトの「stop」スタンザが最初にstart-stop-daemonを呼び出し、それがSIGTERMをnrpeに送信してから、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 ...などを追加することです。

ありがとう

9
nutznboltz

これまでに行ったすべてのバグ作業に最初に感謝します。このバグの修正に参加したいのは素晴らしいことです。

最善の方法は、新しいバグを正確に報告し、それがLP:#600941によって引き起こされたリグレッションであることを明確にすることです。 「regression-updates」というタグを付けます。また、LP:#600941のコメントでそれを言及しておくとよいでしょう。そうすることで、ユーザーが自分で回帰を調べているときにそれがわかるようになります。回帰更新タグは、バグがトリアージされ、迅速に対応されることを保証します。だからはい、まずこれから始めましょう:

ubuntu-bug nagios-nrpe-server

これはすべてのリリースに影響するため、これをどこで行うかは重要ではありません(修正を検証できるように、そのままにしておくことができるプラットフォームで実行することをお勧めします)。

現在、正確なISOはおそらくインストールできませんが、ここで試すことができます。

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

/etc/apt/sources.list*でソースを編集し、oneiricをprecisionに変更してから、apt-get update && apt-get dist-upgradeを実行することにより、oneiricマシンを正確に実行することもできます。移行と大きな変更が行われているため、本番システムではこれを行わないでください。

修正を送信するには、Ubuntu分散開発を使用するのが最善の方法です。バグを自分に割り当て、次の手順を実行します。

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 を参照してください

Freenodeの#ubuntu-develや#ubuntu-serverにも質問してください。

14
SpamapS