【发布时间】:2016-07-07 12:12:02
【问题描述】:
我想将调试日志记录添加到我的自定义 Ansible 模块中,这样当 -vvv 选项提供给 ansible-playbook 命令时,我会看到日志消息,否则看不到。我不希望模块的结果受到此日志记录的影响。换句话说,我不想将日志消息直接写入stdout或stderr。
【问题讨论】:
标签: debugging logging module ansible trace
我想将调试日志记录添加到我的自定义 Ansible 模块中,这样当 -vvv 选项提供给 ansible-playbook 命令时,我会看到日志消息,否则看不到。我不希望模块的结果受到此日志记录的影响。换句话说,我不想将日志消息直接写入stdout或stderr。
【问题讨论】:
标签: debugging logging module ansible trace
模块通常是远程执行的,所以实际上没有办法直接输出任何东西。
您可以在exit_json 调用中返回模块中的其他数据。
if module._verbosity >= 3:
module.exit_json(changed=True, debug="wooha!")
else:
module.exit_json(changed=True)
module._verbosity 对应于详细级别(-v = 1,-vvv = 3),从 Ansible 2.1 开始可用。
来源:Ansible Devel-list 和 github
【讨论】:
Ansible 模块很难调试,因为:
pdb来调试)所以,你可以这样调试 Ansible 模块:
local_action 模块来实现。【讨论】: