0
我想通過避免調用某些不需要每天多次調用的部分來加速劇本的執行速度。如何使用可靠的事實來跳過某些部分的執行?
我知道事實應該可以讓我們實現這一點,但似乎幾乎不可能找到一些基本的例子:設置一個事實,閱讀它並做某件事,如果它有一個特定的值,設置一個默認值爲事實。
- name: "do system update"
shell: echo "did it!"
- set_fact:
os_is_updated: true
如果我的印象或事實無非是可以在執行之間保存,加載和緩存的變量嗎?
我們假設帽子ansible.cfg
已配置爲啓用事實緩存兩個小時。
[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