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).
This commit is contained in:
cmacrae 2015-12-22 16:36:11 +00:00
parent cd5e355707
commit fd6b8c8e6b
2 changed files with 11 additions and 2 deletions

View File

@ -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

View File

@ -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