実稼働環境/構成でさまざまなことを検証する、手作業で作成されたPythonスクリプトのコレクションがあります。
これらの多くは単純なXMLチェックです(つまり、ここでこのXMLタグの値がそのファイルの値と等しいことを検証します)。その他の場合は、ホストが稼働していること、このアプリケーションのcrontabの開始時刻がXから20分以内であること、またはサーバー上のログファイルに特定の行が含まれていることを確認することです。
チェックは、各本番プッシュの前に自動的に実行されます。
スクリプトは必須です。例えば:
- サーバーへのSSH
- ファイルを開く
- XMLを解析します
- XMLタグを検索する
- 値を変数に格納します
- 他の場所の別の値と比較してください。
これらの検証をもう少し宣言的な方法で行うためのフレームワークの作成を検討したいと思います。つまり、サーバーが何かをチェックする方法を定義する代わりに<tag>value</tag> should equal foobar
、フレームワークにその方法を処理させる必要があります。
その後、チェックをスケジュールして、Celeryのようなキューにジョブを配置できると考えていました。
私が車輪の再発明をするのを止めるために-すでにこのようなことをしている既存のプロジェクトはありますか?
または、ここで誰かが同様のことをしたことがありますか、または何かアドバイスを提供することができますか?
(PuppetやChef、さらにはSalt Stackのようなものを知っていますが、これらはデプロイメントを管理したり、実際に構成をプッシュしたりするためのものです。これらの検証スクリプトは、手動で行われた構成の変更が正しいかどうかを確認するためのものです。特定の基本的なルールに違反します)。
乾杯、ビクター