Addning handler for Nginx config validation:

Although the 'validate' param was added for the deployment of
/etc/nginx.conf - this validation process will only be triggered upon
changes.
So, if a vhost config is updated, but the main config isn't, the
collective config will not be verified.

I've added a new handler 'validate nginx configuration' and added this
to the 'notify' param as a first list item for vhost config changes.

Unfortunately, this will not protect against the deployment of malformed
configuration, however it will prevent the restart of Nginx in such a
situation (as the 'validate nginx configuration' handler should error
out before the 'restart nginx' handler is called).
pull/36/head
cmacrae 8 years ago
parent cd5e355707
commit fd6b8c8e6b
  1. 4
      handlers/main.yml
  2. 9
      tasks/vhosts.yml

@ -1,3 +1,7 @@
---
- name: restart nginx
service: name=nginx state=restarted
- name: validate nginx configuration
command: nginx -t -c /etc/nginx.conf
changed_when: False

@ -12,11 +12,16 @@
dest: "{{ nginx_vhost_path }}/vhosts.conf"
mode: 0644
when: nginx_vhosts|length > 0
notify: restart nginx
notify:
- validate nginx configuration
- restart nginx
- name: Remove managed vhost config file (if no vhosts are configured).
file:
path: "{{ nginx_vhost_path }}/vhosts.conf"
state: absent
when: nginx_vhosts|length == 0
notify: restart nginx
notify:
- validate nginx configuration
- restart nginx