使用检查模式时如何在Ansible模板任务上运行验证?

时间:2018-10-15 13:55:40

标签: ansible ansible-2.x ansible-template

在检查模式(--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能够区分以检查模式运行时现有目标和要安装的新文件之间的区别,因此它应该能够验证新文件。现在,如果模板包含错误,它将仅在实际运行中显示,而不会在检查模式下显示。

是否可以在检查模式下验证模板文件?

1 个答案:

答案 0 :(得分:1)

我认为您要寻找的是check_mode: no,它的名称具有令人困惑的双负号,但实际上可以使任务选择退出检查模式抑制。

如何,在您的情况下,您将需要将该文件首先放在某个位置,以便可以将模板呈现到磁盘上并进行nginx测试,而保留mv /tmp/nginx.conf /usr/local/etc/nginx/nginx.conf及其notify:受实际检查模式保护。