--- # 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: Set fact for extra arguments in MySQL commands set_fact: mysql_extra_args: "{{ (ansible_os_family == 'Debian') | ternary('--defaults-file=/etc/mysql/debian.cnf', '') }}" tags: - galera-cluster-state-check - galera-bootstrap - name: Confirm service connectivity command: "/usr/bin/mysqladmin {{ mysql_extra_args }} ping" register: _mysql_running until: _mysql_running.rc == 0 retries: "{{ num_retries }}" delay: "{{ wait_delay }}" failed_when: false changed_when: _mysql_running.rc != 0 tags: - galera-cluster-state-check - galera-bootstrap - name: Check that WSREP is ready shell: "/usr/bin/mysqladmin {{ mysql_extra_args }} extended-status | egrep '(wsrep_ready|wsrep_evs_state)'" changed_when: > _mysql_ready.rc != 0 register: _mysql_ready when: _mysql_running.rc == 0 until: - _mysql_ready.rc == 0 - (_mysql_ready.stdout).find("ON") != -1 retries: "{{ num_retries }}" delay: "{{ wait_delay }}" tags: - galera-cluster-state-check - galera-bootstrap - name: Set running state fact set_fact: mysql_running: "{{ _mysql_running }}" tags: - galera-cluster-state-check - galera-bootstrap