openstack-ansible/playbooks/roles/galera_client/tasks/galera_client_pre_install.yml
Kevin Carter 886fe01edb Add release pinning to galera roles
As both Ubuntu and the MariaDB repositories carry packages with the same
names, apt package pinning is required to ensure that the packages we install
come from the right repository. This patch adds a pinning preference file to
ensure that the packages we install come from the MariaDB repository.

Due to the OpenStack CI images having conflicting packages installed in the
base image, this patch also includes the removal of these packages during the
AIO bootstrap to ensure that the deployment succeeds.

For environments where the same two packages are installed on the hosts prior
to the deployment of os-ansible-deployment, they would need to ensure that the
packages are removed first. This has been seen in environments where
monitoring tooling has installed the packages as a dependancy.

Closes-Bug: #1446772
Change-Id: I5ad0b9010e49832c4f866c0b141e1c035d5f9268
2015-04-23 10:32:35 +01:00

63 lines
1.7 KiB
YAML

---
# Copyright 2014, 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: Add galera apt-keys
apt_key:
id: "{{ item.hash_id }}"
keyserver: "{{ item.keyserver }}"
state: "present"
with_items: galera_client_gpg_keys
register: add_keys
until: add_keys|success
retries: 5
delay: 2
tags:
- galera-client-apt-keys
- name: Add galera apt-keys using fallback keyserver
apt_key:
id: "{{ item.hash_id }}"
keyserver: "{{ item.fallback_keyserver }}"
state: "present"
register: add_keys_fallback
until: add_keys_fallback|success
retries: 5
delay: 2
with_items: galera_client_gpg_keys
when: add_keys|failed and item.fallback_keyserver is defined
tags:
- galera-client-apt-keys
- name: Drop galera repo pin
template:
src: "galera_client_pin.pref.j2"
dest: "/etc/apt/preferences.d/galera_client_pin.pref"
owner: "root"
group: "root"
mode: "0644"
tags:
- galera-client-repo-pin
- name: Add galera repo(s)
apt_repository:
repo: "{{ galera_client_apt_repo.repo }}"
state: "{{ galera_client_apt_repo.state }}"
register: add_repos
until: add_repos|success
retries: 5
delay: 2
tags:
- galera-client-repos