Ada*_*ers 2 debugging include ansible
我加入了一个拥有大量剧本和角色的项目,并且大量使用include(通常以嵌套方式),以便在现有的剧本/角色中包含剧本/角色.(这是好的还是坏的做法应该被认为超出了这个问题的范围,因为它不是我可以立即改变的.注意也include_role没有使用,因为这些剧本在2.2出局之前写得很好,并且仍在进行中更新.)
通常在运行时 ansible-playbook,输出只显示正在运行的每个任务,但它不显示引入额外任务的包含.这使得整个流程如何在剧本之间跳跃变得困难.相比之下,include_vars任务都包含在输出.我猜这是因为它是一个Ansible模块,而include不是真正的模块.
因此,无需修改剧本,有没有办法运行播放簿,显示以下内容?
include指令触发时,和我已经找到了很多关于调试剧本的各种方法的建议,但没有达到这个目的.如果它还通过meta角色依赖关系显示何时包含角色,则奖励积分!
我知道有一些像ansigenome这样的工具可以对剧本进行静态分析,但我希望能够在playbook运行时输出信息,因为我选择调用任何剧本.
如果目前不可能,那么这是一个合理的功能要求吗?
尝试执行ansible-playbook -vv,它为每个执行的任务显示"任务路径",如下所示:
TASK [debug] *********************************************
task path: /path/to/task/file.yml:5
ok: [localhost] => {
"msg": "aaa"
}
Run Code Online (Sandbox Code Playgroud)
因此,您可以轻松跟踪实际文件(包括或不包含)路径和行号.
至于includes,当前Ansible版本(2.2,2.3)中有不同类型的包含:静态和动态.
静态包括在解析时发生,并且-vv在playbook运行的最开始打印(有详细程度)有关它们的信息.
动态包含在运行时发生,您可以在输出中看到青色"包含"行.
| 归档时间: |
|
| 查看次数: |
395 次 |
| 最近记录: |