e70e392b33
This reverts commit 3d405dfd52c0a5059cefd877fd578114bcdd912d. See [1], thia ahould be fixed in 2.9.10 and we must either remove or refactor this code to move past ansible 2.9.9 Change-Id: Ibf636be010edb30e4f186f4d8e411f514ff1b58d
101 lines
3.1 KiB
YAML
101 lines
3.1 KiB
YAML
---
|
|
# Copyright 2015, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Reload the systemd daemon
|
|
systemd:
|
|
daemon_reload: yes
|
|
name: "{{ galera_mariadb_service_name }}"
|
|
enabled: "yes"
|
|
|
|
- name: Check node status
|
|
command: >
|
|
mysql --silent --skip-column-names --connect-timeout=10 -e 'SHOW STATUS LIKE "wsrep_local_state";'
|
|
failed_when: false
|
|
changed_when: true
|
|
register: node_status
|
|
listen: Restart all mysql
|
|
notify:
|
|
- Bootstrap cluster
|
|
- Restart mysql (All)
|
|
|
|
- name: Check if node is in the cluster
|
|
command: >
|
|
mysql --silent --skip-column-names --connect-timeout=10 -e 'SHOW STATUS LIKE "wsrep_incoming_addresses";'
|
|
failed_when: false
|
|
changed_when: false
|
|
register: incoming_addresses
|
|
listen: Bootstrap cluster
|
|
|
|
- name: Set incoming addresses fact (primary)
|
|
set_fact:
|
|
galera_incoming_addresses: "{{ (incoming_addresses.stdout.split()[-1] | default('')).split(',') }}"
|
|
listen: Bootstrap cluster
|
|
|
|
- name: Set node status fact
|
|
set_fact:
|
|
galera_cluster_ready: "{{ (galera_wsrep_address_port in galera_incoming_addresses) or ((node_status.stdout.split()[-1] | default(false)) in ['2', '4']) }}"
|
|
listen: Bootstrap cluster
|
|
|
|
- name: Stop mysql
|
|
service:
|
|
name: "{{ galera_mariadb_service_name }}"
|
|
state: stopped
|
|
changed_when: true
|
|
listen: Bootstrap cluster
|
|
when:
|
|
- galera_install_server | bool
|
|
- not galera_cluster_ready | bool
|
|
|
|
- name: Start new cluster
|
|
command: /usr/local/bin/galera_new_cluster
|
|
failed_when: not start_new_cluster.rc in [0, 3]
|
|
changed_when: start_new_cluster.rc == 3
|
|
register: start_new_cluster
|
|
delegate_to: "{{ galera_server_bootstrap_node }}"
|
|
run_once: true
|
|
when:
|
|
- galera_install_server | bool
|
|
- not galera_cluster_ready | bool
|
|
listen: Bootstrap cluster
|
|
|
|
- name: Restart mysql (All)
|
|
service:
|
|
name: "{{ galera_mariadb_service_name }}"
|
|
state: "{{ (not hostvars[item]['galera_cluster_ready'] | bool) | ternary('started', 'restarted') }}"
|
|
environment:
|
|
MYSQLD_STARTUP_TIMEOUT: 180
|
|
register: galera_restart
|
|
until: galera_restart is success
|
|
retries: 6
|
|
delay: 5
|
|
delegate_to: "{{ item }}"
|
|
when:
|
|
- galera_install_server | bool
|
|
- hostvars[item]['galera_cluster_ready'] is defined
|
|
- hostvars[item]['galera_deployed'] | default(false) | bool
|
|
with_items:
|
|
- "{{ ansible_play_hosts }}"
|
|
run_once: true
|
|
|
|
- meta: noop
|
|
listen: Manage LB
|
|
when: false
|
|
|
|
- name: Restart xinetd
|
|
service:
|
|
name: xinetd
|
|
state: "{{ (galera_monitoring_check_enabled | bool) | ternary('restarted', 'stopped') }}"
|
|
enabled: "{{ galera_monitoring_check_enabled | bool }}"
|