有没有办法检查playbook语法和变量?
我试图干跑( - 检查),但由于某些原因,它的效果非常慢。看起来它试图执行操作而不是只检查语法
我想省略这样的错误:
..."msg": "AnsibleUndefinedVariable: ERROR! 'application_name' is undefined"}
答案 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 /目录中均具有默认值,以使其永不失败,但仍可以在其他级别覆盖这些变量。