Ansible。快速查看语法的方法?

时间:2016-02-11 12:35:38

标签: ansible ansible-playbook

有没有办法检查playbook语法和变量?

我试图干跑( - 检查),但由于某些原因,它的效果非常慢。看起来它试图执行操作而不是只检查语法

我想省略这样的错误:

..."msg": "AnsibleUndefinedVariable: ERROR! 'application_name' is undefined"}

2 个答案:

答案 0 :(得分:40)

根据文档,这是预期的行为:

  

当使用--check执行ansible-playbook时,它不会生成任何内容   远程系统上的变化。相反,任何模块都支持   'check mode'(包含大多数主要核心模块,但它   不要求所有模块执行此操作)将报告所做的更改   他们会制造而不是制造它们。其他模块   不支持检查模式也不会采取任何行动,但不会   报告他们可能做出的改变。

http://docs.ansible.com/ansible/playbooks_checkmode.html

如果您想检查YAML语法,可以使用syntax-check。

ansible-playbook rds_prod.yml  --syntax-check
playbook: rds_prod.yml

答案 1 :(得分:0)

添加一个任务,以在未定义变量时使剧本失败。这应该是第一个任务运行。

另一种选择是确保所有变量在/ defaults /目录中均具有默认值,以使其永不失败,但仍可以在其他级别覆盖这些变量。