擅长:python、mysql、java
<p>调试模块</p>
<ul>
<li><p>最基本的方法是通过在执行行中添加<code>-vvv</code>,以更高的详细级别运行<code>ansible</code>/<code>ansible-playbook</code>。</p></li>
<li><p>对于用Python(Linux/Unix)编写的模块,最彻底的方法是运行<code>ansible</code>/<code>ansible-playbook</code>,并将环境变量<code>ANSIBLE_KEEP_REMOTE_FILES</code>设置为<code>1</code>(在控制计算机上)。</p>
<p>它使Ansible在目标机器上保留它执行的Python脚本的精确副本(无论是否成功)。</p>
<p>脚本的路径打印在Ansible日志中,对于常规任务,它们存储在SSH用户的主目录下:<code>~/.ansible/tmp/</code>。</p>
<p>准确的逻辑嵌入到脚本中,取决于每个模块。有些在标准库或外部库中使用Python,有些在调用外部命令。</p></li>
</ul>
<p>调试剧本</p>
<ul>
<li><p>类似于使用<code>-vvv</code>参数调试模块以增加详细级别,会导致更多数据打印到Ansible日志中</p></li>
<li><p>由于ansibe2.1a<a href="https://docs.ansible.com/ansible/playbooks_debugger.html" rel="noreferrer">Playbook Debugger</a>允许调试交互失败的任务:检查、修改数据;重新运行任务。</p></li>
</ul>
<p>调试连接</p>
<ul>
<li>将<code>-vvvv</code>参数添加到<code>ansible</code>/<code>ansible-playbook</code>调用会导致日志包含连接的调试信息。</li>
</ul>