运行 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

不,临时的 ansible 脚本无法打印该内容。解决方法是创建一个简单的剧本:

---

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

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

运行:

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

相关内容