2015/09/29

AnsibleとServerspecでインベントリファイルを共通化した

去年の明け頃からAnsibleを使い出して、去年の春ごろから仕事でも充分使えると判断して、今はサーバを構築するのは全てAnsibleでPlaybookを書いて構築→保守という流れが確立しています。とはいえ、他社と共同管理であるサーバも多く、構築完了から時間が経過した後に最初に書いたPlaybookを実行して、Playbookに反映されていない変更が巻き戻るという管理上の問題がありました。`ansible-playbook --check`での検査で何故かChangedになるタスクがあったり(これは僕の書き方が悪いのかも)して、テスト目的ではServerspecを使う事を検討し、実際に使ってみる事にしました。

結論としては、Serverspecは充分使えると判断してAnsible Playbookで実行した内容のテストをServerspecで記述して、構築完了後〜何か変更を加えるときに毎回`rake`を実行するという形が合理的であるとの解を得ました。

となると次は、ディレクトリ名からホスト名を得るServerspecにAnsibleのインベントリファイルを読込んで、対象とするホスト定義を共通化したいと思いました。最終的な目的は、Ansibleのインベントリファイルのみでホスト定義をしてServerspecもそれを読み、AnsibleのBest Practicesに従ったディレクトリ構造の中にServerspecのテストコード用ファイルを入れる事で、それを達成する為にRakefileを改造しました。

2015/09/18

シシマイのロゴを作った話、それとこの10ヶ月の変更点

今年の夏ごろ、正確には8月16日にシシマイの最初のバージョンをリリースして丁度一年が経過しました。

所々の理由でシシマイ(Sisimai)と名乗る事にしましたが、bounceHammer 4として開発していたので4.0.0を最初のバージョンとしてリリースし、8/16にversion 4.1.28になりました。とりあえず現状で安定版として問題ないであろう状態にはなっています。

シシマイについて最後に書いた記事が2014/11/11の「次期bounceHammerの中核モジュール"Sisimai"」で、それから一年近くが経過していましたので、その後の変化について書き記しておきます。