%PDF- %PDF-
Direktori : /etc/ansible/roles/mysql/tasks/ |
Current File : //etc/ansible/roles/mysql/tasks/create_slave.yml |
--- # Create slave role on the server # input_options: # cluster_login = login for cluster ( if first replication input, for other get it from file ) # cluster_password|cluster_password_file = password # replica_login = login used in replication # replica_password|replica_password_file = password # slave_server = <hostname> # mysql_last_id = last used server-id in the pool # on localhost gathering facts abount installed sites - include: sites-gathering_facts.yml - include: sites-checks.yml - include: mysql-check-slave.yml - name: replication variables on the slave-server set_fact: mysql_replication_role: slave mysql_serverid: "{{ mysql_last_id+1 }}" when: "inventory_hostname == slave_server" tags: vars - 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 #- name: debug #debug: msg="cluster_password={{ cluster_password }} replica_password={{ replica_password }}" - include: common-etckeeper.yml when: "slave_server == inventory_hostname or master_server == inventory_hostname" # configure mysql options and user's access - include: configure-certs.yml when: "inventory_hostname == slave_server or inventory_hostname == master_server" static: no - include: setup.yml when: "slave_server == inventory_hostname or master_server == inventory_hostname" - include: mysql_uuid.yml when: "slave_server == inventory_hostname and mysql_mid_version == '7'" # sync master and slave operations - include: mysql-master-lock.yml when: "slave_server == inventory_hostname or master_server == inventory_hostname" # update php configs of sites; only on web balancer - include: sites-update_settings.yml when: "cluster_web_server == inventory_hostname" - name: restart httpd service: name=httpd state=restarted when: "'bitrix-web' in group_names" # disable public part of site, agents and events - delegate_to localhost(balancer) - include: sites-make_public.yml when: "inventory_hostname == cluster_web_server" # configure mysql slave server - include: mysql-configure-slave.yml when: "inventory_hostname == slave_server" - include: mysql-pt-slave-restart-start.yml when: "inventory_hostname == slave_server" ## enable public part of site - name: create site_stopped variable set_fact: site_stopped='N' when: "'bitrix-web' in group_names" - include: sites-make_public.yml when: "inventory_hostname == cluster_web_server" # register slave in cluster module - delegate to localhost(balancer) # Note: we use slave_server variables and execute script on cluster_web_server - include: sites-register_slave.yml when: "inventory_hostname == slave_server" # update ansible config files - include: mysql-inventory-slave.yml when: "inventory_hostname == slave_server" # delete lock file - name: delete lock file on master server file: path: "/tmp/{{ master_server }}.lock" state: absent when: "master_server == inventory_hostname" tags: mysql_sync # monitoring plugins - include: mysql-monitor-slave.yml when: "monitoring_status == 'enable' and slave_server == inventory_hostname"