私は、1日に1回程度以上呼ばれる必要がないセクションを呼び出すことを避けることによって、プレイブックの実行をスピードアップしたいと考えています。いくつかのセクションの実行をスキップするにはどうすればよい事実を使用できますか?
私は実際にこれを実装することができると知っていますが、基本的な例を見つけることはほとんど不可能です:事実を設定し、それを読んで何かします。事実。
- name: "do system update"
shell: echo "did it!"
- set_fact:
os_is_updated: true
私の印象や事実が、実行の間に保存、ロード、キャッシュすることができる変数以外のものであれば?
帽子ansible.cfg
は、すでにファクトキャッシングを2時間有効に設定しているとしましょう。
[defaults]
gathering = smart
fact_caching = jsonfile
fact_caching_timeout = 7200
fact_caching_connection = /tmp/facts_cache
申し訳ありませんが、私はすでにキャッシングが設定されていると仮定していますので、私が探しているのは、xが最後の2時間でキャッシュされていない場合(キャッシングタイムアウト)の例です。 – sorin
何らかの理由で、set_factがファクトキャッシュに明示的に保持されません(理由は不明)。https://github.com/ansible/ansible/blob/26209342a28ad70775fa303035a12f4ff77c5f2e/lib/ansible/plugins/strategy/__init__.py#L328 – nitzmahone