6.17. ファクトキャッシングの利点
ファクトキャッシュにより、ファクト収集の実行にかかる時間を節約できます。1000 個のホストとフォークに対して実行するジョブに Playbook がある場合、これらの全ホストからファクトを収集するのに 10 分費やすことができます。ただし、ジョブを定期的に実行する場合、最初の実行でこれらのファクトがキャッシュされ、次の実行でデータベースから取得されます。こうすることで、スマートインベントリーを含む大規模なインベントリーに対するジョブの実行時間が短縮されます。
ファクトキャッシュを適用するために ansible.cfg ファイルを変更しないでください。カスタムファクトキャッシュは、コントローラーのファクトキャッシュ機能と競合する可能性があります。必ず Automation Controller に同梱されているファクトキャッシュモジュールを使用してください。
ジョブテンプレートを作成または編集するときに Enable fact storage オプションをオンにすると、キャッシュされたファクトをジョブで使用できます。
ファクトを消去するには、Ansible clear_facts
メタタスク を実行します。以下は、Ansible clear_facts
メタタスクを使用する Playbook の例です。
- hosts: all gather_facts: false tasks: - name: Clear gathered facts from all currently targeted hosts meta: clear_facts
- hosts: all
gather_facts: false
tasks:
- name: Clear gathered facts from all currently targeted hosts
meta: clear_facts
ファクトキャッシュの API エンドポイントは次の場所にあります。
http://<controller server name>/api/v2/hosts/x/ansible_facts