%PDF- %PDF-
| Direktori : /proc/self/root/etc/ansible/roles/web/tasks/ |
| Current File : //proc/self/root/etc/ansible/roles/web/tasks/web2.yml |
---
# add web role to the server at one step
- include: sites-gathering_facts-all.yml
- include: sites-checks.yml
- name: cluster variables
set_fact:
cluster_web_configure: enable
mysql_playbook: cluster
# commit current configuration
- include: common-etckeeper.yml
vars:
task_type: "add_web_configs_{{ new_web_server }}"
- name: cluster password
set_fact:
cluster_password: "{{ lookup('file', cluster_password_file) }}"
when: cluster_password_file is defined
tags: vars
- name: replica password
set_fact:
replica_password: "{{ lookup('file', replica_password_file) }}"
when: replica_password_file is defined
tags: vars
- include: mysql-setup.yml
when: "inventory_hostname == new_web_server"
- include: spare-crontab-setup.yml
when: "inventory_hostname == new_web_server"
# wait until lsyncd service sync data from balancer to other hosts
- name: check lsyncd delay
bx_lsyncd_wait: log=/var/log/lsyncd/daemon-{{ inventory_hostname }}.status attempts=20 timeout=60
delegate_to: "{{ cluster_web_server }}"
when: "fstype == 'lsync' and inventory_hostname == new_web_server"
# update site's config: dbconn.php and .settings.php - use cluster login and password
- include: sites_mysql_connect.yml
when: "inventory_hostname == cluster_web_server"
# configure nginx and apache: balancer and backends configs
- include: web_services-setup.yml
when: "inventory_hostname == cluster_web_server"
# register web nodes on sites
- include: sites-cache_directory-execute.yml
vars:
php_script: add_web_node_on_cluster.php
php_server: "{{ cluster_web_server }}"
when: "inventory_hostname == new_web_server or 'bitrix-web' in group_names"
# save settings to ansible inventory
- include: sites_inventory-web2.yml
when: "inventory_hostname == new_web_server"
# restart web services
- name: restart web-services
service: name={{ item }} state=restarted
tags: web
with_items:
- nginx
- httpd
when: "'bitrix-web' in group_names or inventory_hostname == new_web_server"
# enable service
- name: start lsyncd backend service on new host
service: name=lsyncd-{{ cluster_web_server }} state=started enabled=yes
when: "fstype == 'lsync' and inventory_hostname == new_web_server"
# configure monitoring
- include: monitoring_web.yml
when: "monitoring_status == 'enable' and inventory_hostname == new_web_server"