Ansible 调试
Ansible 调试
Ansible 提供了一个调试模块选项,使任务更易于管理。它是找出任何问题区域的便捷工具。
Ansible 2.1 版扩展了调试模块,使用详细参数将其从打印行转换。
例如: 让我们创建剧本1_debug_example.yml,例如:
---
-name: Debug Example Uptime
hosts: localhost
connection: local
tasks:
-name: Find Uptime
shell: /usr/bin/uptime
register: result
-name: Print debug message
debug:
var: result
verbosity: 2
在 Ansible playbook 调试期间,了解如何显示已注册的变量或主机事实很有用。
要从 Ansible playbook 打印消息以及变量的值,我们可以使用 Ansible 调试模块。 Ansible 调试模块易于使用。
例如: 让我们执行一个简单的hello world playbook 2_debug_example.yml,例如:
---
-name: Debug Example-Hello World
hosts: localhost
tasks:
-name: Print debug message
debug:
Ansible 包含一个调试器作为策略插件的一部分。此调试器使您能够将调试作为一项任务。您可以在任务上下文中访问调试器的所有功能。您可以检查或设置变量的值,更新模块参数,并使用新的变量和参数重新运行任务以解决失败的原因。
调用调试器的方法有很多,例如:
使用调试器关键字
调试器关键字可用于任何提供名称属性的块,例如一个角色、块、任务或游戏。
调试器关键字接受多个值,例如:
始终: 始终调用调试器,无论结果。
从不: 从不调用调试器,无论结果如何。
On_failed: 它只在有任务时调用调试器失败。
On_unreachable: 它只在主机不可访问时调用调试器。
On_skiped: 它只调用调试器如果任务被跳过。
注意: 注意: 这些选项会覆盖任何全局配置以启用或禁用调试器。
关于任务
-name: Execute a command
command: false
debugger: on_failed
在玩
-name: Play
hosts: all
debugger: on_skipped
tasks:
-name: Execute a command
command: true
when: false
当在一般级别提供时,以及更具体的级别,越具体的获胜:
-name: Play
hosts: all
debugger: never
tasks:
-name: Execute a command
command: false
debugger: on_failed