小技巧 - 如何在迴圈裡註冊變數
單一個模組執行結果,可以使用 register 把結果放到變數裡。
如果這模組要搭配迴圈執行多次,又要把結果放到變數裡時,要怎麼寫呢?因為之前沒有用過,腦袋不禁打結了,心裡開始在盤算該怎麼處理比較好?但好在,早有人提出解答。
單一個模組執行結果,可以使用 register 把結果放到變數裡。
如果這模組要搭配迴圈執行多次,又要把結果放到變數裡時,要怎麼寫呢?因為之前沒有用過,腦袋不禁打結了,心裡開始在盤算該怎麼處理比較好?但好在,早有人提出解答。
現在新版的 AWX 依照官方網站的說法,只能安裝在容器平台上了,接下來的幾篇文將說明一下如何安裝 AWX。
Playbook 是使用 YAML 格式,在使用上難免會遇到要放很長的字串的情況,想保留可讀性又不想有多餘的換行符號,該怎麼辦呢?
寫作 Playbook 若遇到這兩種情況時,可以怎麼做呢?
方法相當簡單,使用 + 就可以。
新增內容到 list 時,可以這樣寫
- name: 配置 list
set_fact:
result_list: []
- name: 取得時間
shell: date +%T
register: shell_result
- name: 附加內容到 result_list
set_fact:
result_list: "{{ result_list + [ shell_result.stdout ]}}"
- name: 再次取得時間
shell: sleep 3 && date +%T
register: shell_result
- name: 附加內容到 result_list
set_fact:
result_list: "{{ result_list + [ shell_result.stdout ]}}"
若是要合併兩個 list,就是這樣寫
使用 postgresql_xxx 的模組存取 Postgresql 資料庫時,一般會需要切換為 postgres 使用者來進行操作。在 Ansible 可以怎麼去做呢?
What’s new in Ansible Automation Platform 2.2
最近 2.2 剛出,相較於 2.1 ,又增加了什麼呢?
有些時候,會需要取得字串中的某個部份來使用,這時候可以怎麼做呢?
前兩天是 Red Hat Summit,Red Hat 也趁勢公佈了一個消息: Updates to using Ansible in RHEL 8.6 and 9.0
debug 模組的用途,顧名思義就是除錯用的,一般用來在 playbook 裡列印變數內容,或是指定的訊息。在預設的情況下,模組只會有狀態的輸出, 像是 changed, ignored 等等的,使用 debug 模組,就可以印出變數內容或者是運算式的結果。基本上就把他想做是 bash 裡的 echo,或是 python 裡的 print。
在遇到執行 playbook 花費較多時間的情況時,該怎麼去進行分析,找出執行效能瓶頸呢?
在 ansible-core 2.15 版以前,可以在 ansible.cfg 裡加上 callback_whitelist = profile_tasks
來進行分析。
在 ansible-core 2.15 版以後,就強制要使用新的設定 callback_enabled = profile_tasks
了。