mirror of
https://github.com/geerlingguy/ansible-role-apache
synced 2025-01-10 20:00:18 +01:00
45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
---
|
|
# This playbook does a rolling update for all webservers serially (one at a time).
|
|
# Change the value of serial: to adjust the number of server to be updated.
|
|
#
|
|
# The three roles that apply to the webserver hosts will be applied: common,
|
|
# base-apache, and web. So any changes to configuration, package updates, etc,
|
|
# will be applied as part of the rolling update process.
|
|
#
|
|
|
|
# gather facts from monitoring nodes for iptables rules
|
|
- hosts: monitoring
|
|
tasks: []
|
|
|
|
- hosts: webservers
|
|
user: root
|
|
serial: 1
|
|
|
|
# These are the tasks to run before applying updates:
|
|
pre_tasks:
|
|
- name: disable nagios alerts for this host webserver service
|
|
nagios: action=disable_alerts host={{ ansible_hostname }} services=webserver
|
|
delegate_to: "{{ item }}"
|
|
with_items: groups.monitoring
|
|
|
|
- name: disable the server in haproxy
|
|
shell: echo "disable server myapplb/{{ ansible_hostname }}" | socat stdio /var/lib/haproxy/stats
|
|
delegate_to: "{{ item }}"
|
|
with_items: groups.lbservers
|
|
|
|
roles:
|
|
- common
|
|
- base-apache
|
|
- web
|
|
|
|
# These tasks run after the roles:
|
|
post_tasks:
|
|
- name: Enable the server in haproxy
|
|
shell: echo "enable server myapplb/{{ ansible_hostname }}" | socat stdio /var/lib/haproxy/stats
|
|
delegate_to: "{{ item }}"
|
|
with_items: groups.lbservers
|
|
|
|
- name: re-enable nagios alerts
|
|
nagios: action=enable_alerts host={{ ansible_hostname }} services=webserver
|
|
delegate_to: "{{ item }}"
|
|
with_items: groups.monitoring
|