--- # Copyright 2016, 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. # When doing a rolling replacement of an existing cluster, # a service may not yet exist on the target host. This will # cause the service stop task to fail. To cater for this # we only try to stop the service is it exists. - name: Check whether a mysql service exists yet shell: >- systemctl list-unit-files --state=enabled --type=service | grep "^mysql.service .* enabled$" args: executable: /bin/bash warn: no changed_when: false failed_when: false register: _mysql_service_exists - name: Stop MariaDB systemd: name: mysql state: stopped register: galera_restart_fall_back until: galera_restart_fall_back is success retries: 3 delay: 5 when: - _mysql_service_exists.rc == 0 - name: UN-Install galera-server package package: name: "{{ item }}" state: absent with_items: - "{{ galera_server_upgrade_packages_remove }}" - name: Remove old apt sources block: # TODO: Remove the following three tasks in Pike # They're only required during upgrades transitioning to a # statically named apt sources file. - name: Find old sources command: > grep -rnil maria /etc/apt/sources.list.d/ --exclude MariaDB.list changed_when: false failed_when: false register: old_sources - name: Remove old sources file: path: "{{ item }}" state: absent with_items: "{{ old_sources.stdout_lines | default([]) }}" - name: Update apt sources (Forced) apt: update_cache: yes cache_valid_time: 0 register: apt_update until: apt_update is success retries: 5 delay: 2 when: - ansible_pkg_mgr == "apt"