我需要从命令行运行一些角色进行测试,有时我需要应用一些临时任务。所以我习惯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'