Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ansible输出中显示角色?_Ansible - Fatal编程技术网

在Ansible输出中显示角色?

在Ansible输出中显示角色?,ansible,Ansible,我希望更好地调试Ansible脚本,并在已打印的任务名称之外搜索打印角色的选项。我四处寻找,但找不到任何解决办法,因此需要帮助 这就是我目前的输出 ### RUN ansible-playbook - install [WARNING]: Not prompting as we are not in interactive mode PLAY [Setup system] ************************************************************ T

我希望更好地调试Ansible脚本,并在已打印的任务名称之外搜索打印角色的选项。我四处寻找,但找不到任何解决办法,因此需要帮助

这就是我目前的输出

### 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