Ich möchte die Ausführung von Ansible Playbook beschleunigen, indem ich einige Abschnitte vermeiden möchte, die nicht öfter als einmal am Tag aufgerufen werden müssen.Wie kann ich zulässige Fakten verwenden, um die Ausführung einiger Abschnitte zu überspringen?
Ich weiß, dass Fakten uns erlauben, dies zu implementieren, aber es scheint fast unmöglich, ein grundlegendes Beispiel zu finden: ein Fakt zu setzen, es zu lesen und etwas zu tun, wenn es einen bestimmten Wert hat, einen Standardwert für eine Tatsache.
Wenn mein Eindruck oder Fakten nichts anderes sind als Variablen, die zwischen Ausführungen gespeichert, geladen und zwischengespeichert werden können?
Nehmen wir an, dass ansible.cfg
bereits konfiguriert ist, um das Fakt-Caching für zwei Stunden zu aktivieren.
[defaults]
gathering = smart
fact_caching = jsonfile
fact_caching_timeout = 7200
fact_caching_connection = /tmp/facts_cache
Entschuldigung, wenn ich nicht klar war, aber ich nahm an, dass ich das Caching bereits konfiguriert habe, also suche ich nach einem Beispiel von "do x, wenn x in den letzten 2 Stunden noch nicht gemacht wurde (Caching Timeout). – sorin
Aus irgendeinem Grund wird set_fact explizit nicht in einem Faktcache gespeichert (nicht sicher warum). Https://github.com/ansible/ansible/blob/26209342a28ad70775fa303035a12f4ff77c5f2e/lib/ansible/plugins/strategy/__init__.py#L328 – nitzmahone