インフラ自動化ツール「Ansible」がメジャーバージョンアップ。リファクタリングによるアーキテクチャの整理に加え、Block文や動的なIncludeなどの新機能が含まれています。
インフラ自動化ツールのAnsibleが「Ansible 2.0」正式版を公開しました。
Ansibleは2015年10月にレッドハットが買収しており、Ansible 2.0は買収後初の(そしてAnsibleにとっても初めての)メジャーバージョンアップです(関連記事:「「Puppet Enterprise」と「Red Hat Satellite」の連携が実現。一方、レッドハットは「Ansible」を買収へ」)。
Ansible 2.0では大規模なコードのリファクタリングが行われたことにより内部アーキテクチャが整理され、それに伴って新しい機能がいくつか追加されています。
1つ目の新機能としてあげられていたのは「Task Blocks」です。タスク内でBlock文を用いて処理をまとめることができます。
Blockは、Pythonや他の言語が備えているtry、except、finally構文を模したものと説明されており、タスクの失敗をキャッチできることで、Playbookやタスクの開発が容易になっています。
またIncludeが動的に行われるようになっています。これまでのIncludeはプリプロセッサで処理され、その場でインライン展開されていました。これはループと同時に使うと問題が発生してしまうため、ループ機能はAnsible 1.6で削除されていました。
Includeを動的にするようになったため、この問題はもう発生せず、Ansible 2.0ではループ機能も復活。以前より柔軟な記述が可能になっています。
新しくExecution Strategy Pluginが登場。従来のように、全てのホストが直前のタスクを実行してから次のタスクを実行する「リニア」な実行ストラテジに加え、新しく「free」ストラテジが追加できるようになっています。
free実行ストラテジでは、それぞれのホストがとにかく早くタスクを実行していく、というものです。
その他、Ansible 2.0ではOpenStackに対応したモジュール、Docker connectionプラグインなど、新しいモジュールやプラグインも追加されています。
Copyright © ITmedia, Inc. All Rights Reserved.