在检查模式(--check
中运行Ansible时,似乎没有为validate
任务运行template
命令:
- name: Nginx is configured
template:
src: nginx.conf.j2
dest: /usr/local/etc/nginx/nginx.conf
validate: /usr/local/sbin/nginx -t -c %s
notify: Reload Nginx
由于Ansible能够区分以检查模式运行时现有目标和要安装的新文件之间的区别,因此它应该能够验证新文件。现在,如果模板包含错误,它将仅在实际运行中显示,而不会在检查模式下显示。
是否可以在检查模式下验证模板文件?
答案 0 :(得分:1)
我认为您要寻找的是check_mode: no
,它的名称具有令人困惑的双负号,但实际上可以使任务选择退出检查模式抑制。
如何,在您的情况下,您将需要将该文件首先放在某个位置,以便可以将模板呈现到磁盘上并进行nginx
测试,而保留mv /tmp/nginx.conf /usr/local/etc/nginx/nginx.conf
及其notify:
受实际检查模式保护。