Cache プラグイン

chache プラグインによりバックエンドキャッシングメカニズムが実装され、Ansible は収集したファクトまたはインベントリーソースデータを保存できます。 ソースからの取得でパフォーマンスが低下することはありません。

デフォルトの cache プラグインは メモリー プラグインで、Ansible が現在実行するデータのみをキャッシュします。永続ストレージのあるプラグインは他にもあり、実行時にデータをキャッシュできるようにします。

インベントリーおよびファクトに個別のキャッシュプラグインを使用できます。インベントリー固有のキャッシュプラグインが提供されておらず、インベントリーキャッシュが有効になっている場合は、ファクトキャッシュプラグインがインベントリーに使用されます。

ファクトの cache プラグインの有効化

一度に有効にできるファクトの cache プラグインは 1 つだけです。

Ansible 設定でキャッシュプラグインを有効にするには、環境変数を使用するか、

export ANSIBLE_CACHE_PLUGIN=jsonfile

または、ansible.cfg ファイルで以下を設定します。

[defaults]
fact_caching=redis

Cache プラグインをコレクションで使用する場合には、完全修飾名を使用してください。

[defaults]
fact_caching = namespace.collection_name.cache_plugin_name

また、各プラグインに固有の他のオプションを設定する必要があります。詳細は、各プラグインのドキュメント、 または Ansible の設定 を参照してください。

カスタムの cache プラグインを有効にするには、ロール内の Play の隣りにある cache_plugins ディレクトリーに保存するか、ansible.cfg で設定したディレクトリーソースの 1 つに保存します。

インベントリーの cache プラグインの有効化

インベントリーは、ファイルベースの cache プラグイン (jsonfile など) を使用してキャッシュできます。特定のインベントリープラグインをチェックして、キャッシュに対応しているかどうかを確認します。コレクション内の cache プラグインは cache インベントリーではサポートされません。 インベントリー固有の cache プラグインが指定されていない場合、Ansible はファクト cache プラグインオプションがある cache インベントリーにフォールバックします。

インベントリーキャッシュは、デフォルトで無効になっています。環境変数でこれを有効にできます。

export ANSIBLE_INVENTORY_CACHE=True

または、ansible.cfg ファイルで以下を設定します。

[inventory]
cache=True

または、inventory プラグインが YAML 設定ソースに対応している場合には、設定ファイルで以下を指定します。

# dev.aws_ec2.yaml
plugin: aws_ec2
cache: True

ファクトキャッシュプラグインと同様に、一度に 1 つのインベントリーの cache プラグインのみをアクティブにでき、環境変数で設定できます。

export ANSIBLE_INVENTORY_CACHE_PLUGIN=jsonfile

または、ansible.cfg ファイルで以下を設定します。

[inventory]
cache_plugin=jsonfile

または、inventory プラグインが YAML 設定ソースに対応している場合には、設定ファイルで以下を指定します。

# dev.aws_ec2.yaml
plugin: aws_ec2
cache_plugin: jsonfile

詳細は、各 inventory プラグインのドキュメント、または Ansible 設定 を参照してください。

Cache プラグインの使用

Cache プラグインは、有効になると自動的に使用されます。

プラグイン一覧

ansible-doc -t cache -l を使用して、利用可能なプラグインの一覧を表示できます。 特定のドキュメントと例を参照する場合は、ansible-doc -t cache <plugin name> を使用してください。

See also

Action プラグイン
Ansible Action プラグイン
Callback プラグイン
Ansible callback プラグイン
Connection プラグイン
Ansible connection プラグイン
inventory プラグイン
Ansible inventory プラグインの使用
Shell プラグイン
Ansible Shell プラグイン
Strategy プラグイン
Ansible Strategy プラグイン
vars プラグイン
Ansible Vars プラグイン
ユーザーのメーリングリスト
ご質問はございますか。 Google Group をご覧ください。
webchat.freenode.net
#ansible IRC chat channel