--- # 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. - include: galera_running_check.yml vars: num_retries: 1 wait_delay: 3 - name: Check for cluster state failure fail: msg: | The cluster may be broken, mysql is not running but appears to be installed. Fix it before re-running the playbook or override with 'openstack-ansible -e galera_ignore_cluster_state=true galera-install.yml'. when: - not galera_ignore_cluster_state | bool - mysql_running.rc == 1 - mysql_running.stderr | search("Check that mysqld is running and that the socket") tags: - galera-cluster-state-check - name: Gather mysql facts mysql_status_facts: failed_when: false tags: - galera-cluster-state-check - name: Check for cluster state failure fail: msg: | The cluster may be broken, mysql is running but unable to gather mysql facts. Fix it before re-running the playbook or override with 'openstack-ansible -e galera_ignore_cluster_state=true galera-install.yml'. when: - not galera_ignore_cluster_state | bool - mysql_running.rc == 0 - mysql_status is not defined tags: - galera-cluster-state-check - name: Check for cluster state failure fail: msg: | wsrep_incoming_addresses does not match across the cluster. Please fix before re-running the playbooks or override with 'openstack-ansible -e galera_ignore_cluster_state=true galera-install.yml'. with_items: "{{ play_hosts }}" when: - not galera_ignore_cluster_state | bool - mysql_running.rc == 0 - mysql_status['wsrep_incoming_addresses'] != hostvars[item]['mysql_status']['wsrep_incoming_addresses'] tags: - galera-cluster-state-check - name: Fail if galera_cluster_name doesnt match file value fail: msg: > "The galera_cluster_name variable does not match what is set in mysql. Check your galera_cluster_name setting in your user_*.yml files in /etc/openstack_deploy and compare to the current value in /etc/mysql/conf.d/cluster.cnf on the host, and the wsrep_cluster_name value set in your running galera cluster. If you are sure you want to change this variable you can force change your galera_cluster_name variable by setting 'galera_force_change_cluster_name: True'" when: - mysql_running.rc == 0 - mysql_status['wsrep_cluster_name'] != galera_cluster_name - not galera_force_change_cluster_name | bool tags: - galera-cluster-state-check - set_fact: galera_existing_cluster: true when: mysql_running.rc == 0 tags: - galera-cluster-state-check