Files
openstack-ansible-galera_se…/tasks/galera_upgrade_pre.yml
Kevin Carter 068bb72999 Correct failure when stopping cluster state is ignored
If the user passes in the `galera_ignore_cluster_state=true` flag, like
in the case of a node addition or a rolling replacement of nodes,
this role will fail to execute on all new nodes due to the existance of
a functioning cluster galera cluster. The first task in the pre-upgrade
steps attempts to stop the mysql service prior to running anything else.
This change makes it so the mysql service will not fail to stop on this
pre-upgrade task when the `galera_ignore_cluster_state=true` is passed
through.

Change-Id: Id9c4f11b3536e7f9d510f5ef8e6d82a82a96adac
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-10-01 19:00:51 -05:00

61 lines
1.8 KiB
YAML

---
# 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.
- name: Stop MariaDB
systemd:
name: mysql
state: stopped
failed_when: "{{ (not galera_ignore_cluster_state | bool) | default(omit, false) }}"
register: galera_restart_fall_back
until: galera_restart_fall_back is success
retries: 3
delay: 5
- 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"