module

等待 API 回應完成

情境是這樣的,Playbook 在送出 HTTP 請求後,需要送出一個 HTTP 請求去持續詢問是否完成,如果還沒完成,就等待一段時間後,再去詢問,那這個情境下可以怎麼做呢?

Script

以前我不知道有 script 模組,所以要執行自己的腳本,都是先把腳本複製過去,再用 shell/command 去執行。

如何使用debug模組

debug 模組的用途,顧名思義就是除錯用的,一般用來在 playbook 裡列印變數內容,或是指定的訊息。在預設的情況下,模組只會有狀態的輸出, 像是 changed, ignored 等等的,使用 debug 模組,就可以印出變數內容或者是運算式的結果。基本上就把他想做是 bash 裡的 echo,或是 python 裡的 print。

如何執行 oc start-build

oc start-build 是 OpenShift 裡很方便的一個指令,事先建立好 build config 以後,就可以用 start-build 來指示 openshift 來幫忙建置,在建置完成以後,就自動完成佈署了。

等等,那 oc start-build 不是直接用 command/shell 模組就可以完成了嗎?為什麼還需要特別寫? 這是因為使用指令的話,在同時執行多個工作時,在後續的 oc get 會有些問題,所以才想去試試。

ansible.builtin.shell

shell 是用來執行指令用的,等等,command 不也一樣嗎?。

對,其實大同小異,但有個很重要的差別,就是 pipe 或重導向 。 command 只能執行單一個指令,若需要作 pipe 串接或重導向時,就需要用到 shell 了。

ansible.builtin.assert

ansible.builtin.assert 這個模組可以用來檢查是否滿足指定的條件,不滿足的時候,會發生錯誤並離開。

用法很簡單,在 that 裡指定條件式即可。