在Ansible输出中显示角色?
我希望更好地调试Ansible脚本,并在已打印的任务名称之外搜索打印角色的选项。我四处寻找,但找不到任何解决办法,因此需要帮助 这就是我目前的输出在Ansible输出中显示角色?,ansible,Ansible,我希望更好地调试Ansible脚本,并在已打印的任务名称之外搜索打印角色的选项。我四处寻找,但找不到任何解决办法,因此需要帮助 这就是我目前的输出 ### RUN ansible-playbook - install [WARNING]: Not prompting as we are not in interactive mode PLAY [Setup system] ************************************************************ T
### RUN ansible-playbook - install
[WARNING]: Not prompting as we are not in interactive mode
PLAY [Setup system] ************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [homebrew : Check if homebrew is Installed] *******************************
ok: [localhost]
这就是我想要的输出
### RUN ansible-playbook - install
[WARNING]: Not prompting as we are not in interactive mode
PLAY [Setup system] ************************************************************
TASK [Gathering Facts] *********************************************************
ok: [localhost]
ROLE [homebrew] <----- HERE IS THE ROLE
TASK [homebrew : Check if homebrew is Installed] *******************************
ok: [localhost]
###运行ansible playbook-安装
[警告]:不提示,因为我们未处于交互模式
播放[设置系统]************************************************************
任务[收集事实]*********************************************************
确定:[本地主机]
角色[自制]Ansible没有任何选项在角色开始执行时显示这样的角色名称
运行Ansible时看到的输出由。这些插件不会收到任何关于角色开始的通知,因此很难获得所需的输出
这就是说,我们似乎可以在任务
对象上使用get_dep_chain
方法来计算当前角色的名称,如果我们跟踪这些更改的时间,我们可以得到类似于您正在查找的内容
将以下内容用作我的stdout\u插件
(作为我的剧本旁边的callback\u插件/roller.py安装):
一个剧本包含一个角色(它本身包含另一个角色),我得到如下输出:
PLAY [localhost] *****************************************************************************
TASK [include_role : role1] ******************************************************************
ROLE: [role1]
TASK [role1 : sample task] *******************************************************************
ok: [localhost] => {
"msg": "This is a task in role1"
}
TASK [include role2] *************************************************************************
ROLE: [role2]
TASK [role2 : sample task] *******************************************************************
ok: [localhost] => {
"msg": "This is a task in role2"
}
PLAY RECAP ***********************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
虽然上面的方法有效,但我不建议在实践中使用它:我认为您并没有获得那么多,因为Ansible确实会显示任务名称后面附加的当前角色名称
PLAY [localhost] *****************************************************************************
TASK [include_role : role1] ******************************************************************
ROLE: [role1]
TASK [role1 : sample task] *******************************************************************
ok: [localhost] => {
"msg": "This is a task in role1"
}
TASK [include role2] *************************************************************************
ROLE: [role2]
TASK [role2 : sample task] *******************************************************************
ok: [localhost] => {
"msg": "This is a task in role2"
}
PLAY RECAP ***********************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0