執行 ansible adhoc 指令時列印任務名稱

執行 ansible adhoc 指令時列印任務名稱

我需要從命令列運行一些角色進行測試,有時我需要應用一些臨時任務。所以我用來ansible運行這個角色。例如:

$ ansible all -i 192.168.1.123,  -m include_role -a"name=myrole" -e '@role.json'

這工作正常並列印出大量訊息,但它不列印任務-name:文字。我的意思是通常會列印的文字ansible-playbook如下:

TASK [Do this and that...]

ansible不印這個。如果沒有這些訊息,有時很難判斷 ansible 到底在哪裡。如果一個任務失敗了,很難找出哪個任務失敗了...

有沒有一種方法可以以臨時方式運行角色,並且還可以獲得有關正在運行的任務的更多資訊?

答案1

不,adhoc ansible 腳本無法列印該內容。解決方法是創建一個簡單的劇本:

---

- hosts: "{{ myhost }}"
  tasks:

  - import_role:
      name: "{{ myrole }}"

運行:

ansible-playbook /path/roletest.yml -e 'myrole=coolrole myhost=awesomehost' -e '@role.json'

相關內容