インフラ自動化ツール「Ansible 2.0」正式版がリリース。リファクタリングによるアーキテクチャの整理、Block文や動的なIncludeなどの新機能
インフラ自動化ツールのAnsibleが「Ansible 2.0」正式版を公開しました。
Ansibleは昨年10月にRed Hatが買収しており、Ansible 2.0は買収後初の(そしてAnsibleにとっても初めての)メジャーバージョンアップです。
参考:Red HatがAnsibleを買収した理由、同社クラウドマネジメント戦略担当が説明
Ansible 2.0では大規模なコードのリファクタリングが行われたことにより内部アーキテクチャが整理され、それに伴って新しい機能がいくつか追加されています。
Task Blocksと動的Include
1つ目の新機能としてあげられていたのは「Task Blocks」です。タスク内でBlock文を用いて処理をまとめることができます。
Blockは、Pythonやほかの言語が備えているtry/except/finally構文を模したものと説明されており、タスクの失敗をキャッチできることで、Playbookやタスクの開発が容易になっています。
またIncludeが動的に行われるようになっています。これまでのIncludeはプリプロセッサで処理され、その場でインライン展開されていました。これはループと同時に使うと問題が発生してしまうため、ループ機能はAnsible 1.6で削除されていました。
Includeを動的にするようになったためこの問題はもう発生せず、Ansible 2.0ではループ機能も復活。以前より柔軟な記述が可能になっています。
とにかく早く実行するfree実行ストラテジ
新しくExecution Strategy Pluginが登場。従来のように、すべてのホストが直前のタスクを実行してから次のタスクを実行する「リニア」な実行ストラテジに加え、新しく「free」ストラテジが追加できるようになっています。
free実行ストラテジでは、それぞれのホストがとにかく早くタスクを実行していく、というものです。
そのほかAnsible 2.0ではOpenStackに対応したモジュール、Docker connectionプラグインなど、新しいモジュールやプラグインも追加されています。
あわせて読みたい
ビルドやテスト環境の自動化は、顧客の一声でつぶされてしまった~自動化の現場の真実(前編)。システムテスト自動化カンファレンス 2015
≪前の記事
米シトリックスがCloudStack事業売却、米Accelerite社へ。今後もXenServerやNetScalerなどとの統合は継続すると