发生故障时,是否可以在ansible中显示调用跟踪?

发生故障时,是否可以在ansible中显示调用跟踪?,ansible,Ansible,是否可以在ansible中回溯调用方文件 下面是我的例子 --- # ./roles/my_role/tasks/main.yml - include_tasks: install.yml - include_tasks: configure.yml 我可能会在install.yml中包含更多的文件,如check_docker.yml和install_docker.yml 如果在install_docker.yml中发生故障,如果调用类似install.yml->install_docke

是否可以在ansible中回溯调用方文件

下面是我的例子

---
# ./roles/my_role/tasks/main.yml

- include_tasks: install.yml

- include_tasks: configure.yml
我可能会在install.yml中包含更多的文件,如
check_docker.yml
install_docker.yml

如果在
install_docker.yml
中发生故障,如果调用类似
install.yml->install_docker.yml
的跟踪,则更容易找出根本原因

是否可以在Ansible中使用?

请参阅并启用。例如,剧本

shell>cat pb.yml
-主机:本地主机
调试器:在\u上失败
任务:
-包括任务:安装\u docker.yml
shell>cat安装\u docker.yml
-名称:Docker失败
命令:/usr/bin/false
给予

shell>ansible剧本pb.yml
播放[本地主机]****
任务[收集事实]****
确定:[本地主机]
任务[包括任务]****
包括:/export/scratch/tmp/install\u docker.yml for localhost
任务[Docker失败]****
致命:[localhost]:失败!=>更改=真
命令:
-/usr/bin/false
增量:“0:00:00.003223”
完:“2020-10-2910:55:22.457982”
msg:非零返回码
rc:1
开始:“2020-10-2910:55:22.454759”
stderr:'
标准线路:
标准输出:“”
标准输出线:
[localhost]任务:Docker失败(调试)>帮助
文档化命令(键入帮助):
========================================
EOF c continue h help p pprint q quit r redo u update_任务
[localhost]任务:Docker失败(调试)>

增加详细信息以获取更多详细信息。比如说

shell>ansible剧本测试-26.yml-vvv
...
致命:[localhost]:失败!=>更改=真
命令:
-/usr/bin/false
增量:“0:00:00.002791”
完:“2020-10-2910:57:33.372253”
调用:
模块参数:
_原始参数:/usr/bin/false
_使用shell:false
argv:null
chdir:null
创建:null
可执行文件:null
删除:null
stdin:null
标准添加新行:真
带\u空\u结束:真
警告:是的
msg:非零返回码
rc:1
开始:“2020-10-2910:57:33.369462”
stderr:'
标准线路:
标准输出:“”
标准输出线:
[localhost]任务:Docker失败(调试)>

您是否在详细模式下运行
-v
?根据我的经验,这就是ansible显示某些故障的确切位置所需的全部内容。此外,由于每个任务只做一件事,因此您会自动将其固定到几行。对我来说,主要的问题是YAML文件不正确,ansible会返回一些解析错误,这些错误通常不会导致实际的错误行,但这就是YAML的本质。