tasks: Fix use_percona_upstream variable usage
The 'use_percona_upstream' variable had quite different and conflicting
meanings in the tasks. It's used to either denote that the upstream
packages will be used directly or that the upstream repositories will
be configured on the hosts and then use the packages from these
repositories. However, the packages in both cases are the same so the
variable was pointless in this form. The variable was meant to be used
to select between upstream and downstream repositories for the Percona
packages. Moreover, upstream does not provide packages for SUSE so we
have to exit the deployment if that variable is set.
Partial-Bug: #1654004
Change-Id: I18853707c29955186da5a1f4d6e80bc3012c04f9
(cherry picked from commit dbbcb56a62
)
This commit is contained in:
parent
a3aa5e7424
commit
462b92a0f8
|
@ -37,7 +37,6 @@ galera_cluster_name: openstack_galera_cluster
|
|||
# if these are used they should be set within the
|
||||
# distro specific variable files found in vars/
|
||||
galera_debconf_items: []
|
||||
galera_server_percona_distro_packages: []
|
||||
galera_mariadb_server_package: "{{ _galera_mariadb_server_package }}"
|
||||
|
||||
# The major version used to select the repo URL path
|
||||
|
@ -140,24 +139,6 @@ galera_debian_cnf_overrides: {}
|
|||
# if deploying galera on different hardware.
|
||||
# galera_max_connections: 500
|
||||
|
||||
# Settings for percona and qpress
|
||||
# The [percona|qpress]_arch_[url|sha256] hashes can be found in the distro vars files.
|
||||
galera_package_arch: "{{ hostvars[inventory_hostname]['ansible_architecture'] }}"
|
||||
|
||||
# Validate SSL certificates when downloading the galera deb above
|
||||
# May be set to "no" when proxy server is intercepting the certificates.
|
||||
percona_package_download_validate_certs: yes
|
||||
percona_package_url: "{{ percona_arch_url.get( galera_package_arch | lower ) }}"
|
||||
percona_package_fallback_url: "{{ percona_arch_fallback_url.get( galera_package_arch | lower ) }}"
|
||||
percona_package_sha256: "{{ percona_arch_sha256.get( galera_package_arch | lower ) }}"
|
||||
percona_package_path: "/opt/{{ percona_package_url | basename }}"
|
||||
|
||||
qpress_package_download_validate_certs: yes
|
||||
qpress_package_url: "{{ qpress_arch_url.get( galera_package_arch | lower ) }}"
|
||||
qpress_package_fallback_url: "{{ qpress_arch_fallback_url.get( galera_package_arch | lower ) }}"
|
||||
qpress_package_sha256: "{{ qpress_arch_sha256.get( galera_package_arch | lower ) }}"
|
||||
qpress_package_path: "/opt/{{ qpress_package_url | basename }}"
|
||||
|
||||
# This is only applied if the ansible_pkg_mgr is 'apt'
|
||||
galera_server_distro_package_pins:
|
||||
- package: '*'
|
||||
|
|
|
@ -13,63 +13,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Download xtrabackup
|
||||
block:
|
||||
- name: Download the percona-xtrabackup package
|
||||
get_url:
|
||||
url: "{{ percona_package_url }}"
|
||||
dest: "{{ percona_package_path }}"
|
||||
mode: "0644"
|
||||
sha256sum: "{{ percona_package_sha256 }}"
|
||||
validate_certs: "{{ percona_package_download_validate_certs }}"
|
||||
register: package_download
|
||||
retries: 3
|
||||
delay: 10
|
||||
until: package_download | success
|
||||
rescue:
|
||||
- name: Download the percona-xtrabackup package (fallback)
|
||||
get_url:
|
||||
url: "{{ percona_package_fallback_url }}"
|
||||
dest: "{{ percona_package_path }}"
|
||||
mode: "0644"
|
||||
sha256sum: "{{ percona_package_sha256 }}"
|
||||
validate_certs: "{{ percona_package_download_validate_certs }}"
|
||||
register: package_download
|
||||
retries: 3
|
||||
delay: 10
|
||||
until: package_download | success
|
||||
when:
|
||||
- not use_percona_upstream | bool
|
||||
|
||||
- name: Download qpress
|
||||
block:
|
||||
- name: Download the qpress package
|
||||
get_url:
|
||||
url: "{{ qpress_package_url }}"
|
||||
dest: "{{ qpress_package_path }}"
|
||||
sha256sum: "{{ qpress_package_sha256 }}"
|
||||
validate_certs: "{{ qpress_package_download_validate_certs }}"
|
||||
register: package_download
|
||||
retries: 3
|
||||
delay: 10
|
||||
until: package_download | success
|
||||
rescue:
|
||||
- name: Download the qpress package (fallback)
|
||||
get_url:
|
||||
url: "{{ qpress_package_fallback_url }}"
|
||||
dest: "{{ qpress_package_path }}"
|
||||
sha256sum: "{{ qpress_package_sha256 }}"
|
||||
validate_certs: "{{ qpress_package_download_validate_certs }}"
|
||||
register: package_download
|
||||
retries: 3
|
||||
delay: 10
|
||||
until: package_download | success
|
||||
when:
|
||||
- not use_percona_upstream | bool
|
||||
|
||||
- name: Add percona external packages to the galera packages list
|
||||
- name: Add percona packages to the galera packages list
|
||||
set_fact:
|
||||
galera_install_packages_list: "{{ galera_packages_list | union(percona_packages_list) }}"
|
||||
galera_packages_list: "{{ galera_server_required_distro_packages + galera_server_mariadb_distro_packages + galera_server_percona_distro_packages }}"
|
||||
|
||||
- name: Remove conflicting distro packages
|
||||
package:
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
apt_repository:
|
||||
repo: "{{ galera_percona_xtrabackup_repo.repo }}"
|
||||
filename: "{{ galera_percona_xtrabackup_repo.filename | default(omit) }}"
|
||||
state: "{{ (use_percona_upstream | bool) | ternary('present','absent') }}"
|
||||
state: "{{ galera_percona_xtrabackup_repo.state }}"
|
||||
update_cache: "no"
|
||||
register: add_percona_repo
|
||||
|
||||
|
@ -85,7 +85,7 @@
|
|||
|
||||
- name: Install galera_server role remote packages (apt)
|
||||
apt:
|
||||
name: "{{ galera_install_packages_list | selectattr('enabled') | rejectattr('local_pkg') | sum(attribute='packages', start=[]) }}"
|
||||
name: "{{ galera_packages_list }}"
|
||||
state: "{{ galera_server_package_state }}"
|
||||
update_cache: yes
|
||||
cache_valid_time: "{{ (add_galera_repo | changed or add_percona_repo | changed) | ternary('0', cache_timeout) }}"
|
||||
|
@ -94,13 +94,6 @@
|
|||
retries: 5
|
||||
delay: 2
|
||||
|
||||
- name: Install galera_server role local packages (apt)
|
||||
apt:
|
||||
deb: "{{ item }}"
|
||||
force: yes
|
||||
with_items:
|
||||
- "{{ galera_install_packages_list | selectattr('enabled') | selectattr('local_pkg') | sum(attribute='packages', start=[]) }}"
|
||||
|
||||
- name: Remove policy-rc
|
||||
file:
|
||||
path: "/usr/sbin/policy-rc.d"
|
||||
|
|
|
@ -84,7 +84,6 @@
|
|||
until: install_packages|success
|
||||
retries: 5
|
||||
delay: 2
|
||||
when: use_percona_upstream | bool
|
||||
|
||||
# NOTE(mhayden): MariaDB/percona repositories are prioritized at 99 by default
|
||||
# and that allows yum to install galera from the RDO repos, which is not good.
|
||||
|
@ -102,5 +101,5 @@
|
|||
|
||||
- name: Install galera_server role remote packages
|
||||
package:
|
||||
name: "{{ galera_install_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}"
|
||||
name: "{{ galera_packages_list }}"
|
||||
state: "{{ galera_server_package_state }}"
|
||||
|
|
|
@ -49,6 +49,11 @@
|
|||
with_items: "{{ galera_gpg_keys }}"
|
||||
when: item.fallback_keyserver is defined
|
||||
|
||||
- name: Fail if upstream Percona is selected
|
||||
fail:
|
||||
msg: "Using upstream Percona packages is unsupported on SUSE"
|
||||
when: use_percona_upstream
|
||||
|
||||
- name: Add galera repo
|
||||
zypper_repository:
|
||||
name: "{{ galera_repo.name }}"
|
||||
|
@ -64,5 +69,5 @@
|
|||
|
||||
- name: Install galera_server role remote packages (zypper)
|
||||
zypper:
|
||||
name: "{{ galera_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}"
|
||||
name: "{{ galera_packages_list }}"
|
||||
state: "{{ galera_server_package_state }}"
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
file:
|
||||
state: absent
|
||||
path: "{{ galera_etc_include_dir }}/{{ item }}"
|
||||
with_items: "{{ mariadb_delete_etc_conf_files }}"
|
||||
with_items: "{{ mariadb_delete_etc_conf_files | default([]) }}"
|
||||
|
||||
- name: Drop mariadb config(s)
|
||||
config_template:
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
---
|
||||
# Copyright 2017, 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.
|
||||
|
||||
galera_packages_list:
|
||||
- packages: "{{ galera_server_required_distro_packages }}"
|
||||
enabled: yes
|
||||
local_pkg: no
|
||||
- packages: "{{ galera_server_mariadb_distro_packages }}"
|
||||
enabled: yes
|
||||
local_pkg: no
|
||||
- packages: "{{ galera_server_percona_distro_packages }}"
|
||||
enabled: "{{ use_percona_upstream }}"
|
||||
local_pkg: no
|
||||
|
||||
percona_packages_list:
|
||||
- packages: "{{ [percona_package_path] }}"
|
||||
enabled: "{{ not use_percona_upstream }}"
|
||||
local_pkg: yes
|
||||
- packages: "{{ [qpress_package_path] }}"
|
||||
enabled: "{{ not use_percona_upstream }}"
|
||||
local_pkg: yes
|
||||
|
||||
mariadb_delete_etc_conf_files: []
|
|
@ -73,27 +73,13 @@ _galera_repo:
|
|||
|
||||
_galera_percona_xtrabackup_repo:
|
||||
repo: "http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm"
|
||||
state: "present"
|
||||
state: "{{ (use_percona_upstream | bool) | ternary('present', 'absent') }}"
|
||||
|
||||
galera_server_percona_distro_packages:
|
||||
- percona-toolkit
|
||||
- percona-xtrabackup
|
||||
- "{{ (galera_xtrabackup_compression | bool) | ternary('qpress', '') }}"
|
||||
|
||||
percona_arch_url:
|
||||
x86_64: "https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm"
|
||||
percona_arch_fallback_url:
|
||||
x86_64: "https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm"
|
||||
percona_arch_sha256:
|
||||
x86_64: "868df0244045615da00687210474f879442227b1ac1a7e14cd5e6be55caa08ae"
|
||||
|
||||
qpress_arch_url:
|
||||
x86_64: "https://repo.percona.com/centos/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm"
|
||||
qpress_arch_fallback_url:
|
||||
x86_64: "https://mirrors.mediatemple.net/percona/testing/centos/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm"
|
||||
qpress_arch_sha256:
|
||||
x86_64: "d6b6b7ca3a5ad4baea34975743106ac54ac746b3e6497d59bce55765d604b697"
|
||||
|
||||
galera_wsrep_provider: "/usr/lib/galera/libgalera_smm.so"
|
||||
|
||||
_use_percona_upstream: yes
|
||||
|
|
|
@ -74,14 +74,9 @@ galera_server_percona_distro_packages:
|
|||
|
||||
galera_wsrep_provider: "/usr/lib64/galera/libgalera_smm.so"
|
||||
|
||||
_use_percona_upstream: yes
|
||||
# NOTE(hwoarang): The default one provided in vars/main.yml depends on
|
||||
# variables defined in defaults/main.yml. However such defaults do not make
|
||||
# sense for SUSE distributions and as such we provide an empty list here since
|
||||
# we grab everything from the distro repositories.
|
||||
percona_packages_list: []
|
||||
|
||||
mariadb_delete_etc_conf_files:
|
||||
- default_plugins.cnf
|
||||
- galera.cnf
|
||||
- error_log.cnf
|
||||
|
||||
_use_percona_upstream: no
|
||||
|
|
|
@ -86,28 +86,10 @@ galera_server_percona_distro_packages:
|
|||
- percona-xtrabackup
|
||||
- "{{ (galera_xtrabackup_compression | bool) | ternary('qpress', '') }}"
|
||||
|
||||
percona_arch_url:
|
||||
x86_64: "https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/debian/xenial/x86_64/percona-xtrabackup-24_2.4.8-1.xenial_amd64.deb"
|
||||
ppc64le: "http://public.dhe.ibm.com/systems/virtualization/Novalink/misc/percona-xtrabackup/percona-xtrabackup-24_2.4.5-1_ppc64el.deb"
|
||||
percona_arch_fallback_url:
|
||||
x86_64: "http://mirrors.reflected.net/percona/apt/pool/main/p/percona-xtrabackup-24/percona-xtrabackup-24_2.4.8-1.xenial_amd64.deb"
|
||||
percona_arch_sha256:
|
||||
x86_64: "00a4a00fb08c950008cc63afa230aac2c91066dc84df112f48dd64dcc811696c"
|
||||
ppc64le: "3d4e4112f4c8020c9190a91d962dabed1dfaad307160a939e121208887eaee2a"
|
||||
|
||||
qpress_arch_url:
|
||||
x86_64: "https://repo.percona.com/apt/pool/main/q/qpress/qpress_11-1.xenial_amd64.deb"
|
||||
ppc64le: "http://public.dhe.ibm.com/systems/virtualization/Novalink/misc/qpress/qpress_11-1_ppc64el.deb"
|
||||
qpress_arch_fallback_url:
|
||||
x86_64: "http://mirrors.reflected.net/percona/apt/pool/testing/q/qpress/qpress_11-1.xenial_amd64.deb"
|
||||
qpress_arch_sha256:
|
||||
x86_64: "c615ec08eb38a9cb59541ae1d7ed42db35e92513735834b48d30d4c485e01534"
|
||||
ppc64le: "a31d3e00dbcec9b3f98eae82b261d054d0b80a57f4a38967d0e953811cb082f3"
|
||||
|
||||
# Repositories
|
||||
_galera_percona_xtrabackup_repo:
|
||||
repo: "deb http://repo.percona.com/apt {{ ansible_distribution_release }} main"
|
||||
state: "present"
|
||||
state: "{{ (use_percona_upstream | bool) | ternary('present', 'absent') }}"
|
||||
filename: "Percona"
|
||||
|
||||
# TODO(evrardjp): Unfreeze version to 10.1 branch when clustering issue is solved.
|
||||
|
@ -119,4 +101,4 @@ _galera_repo:
|
|||
|
||||
galera_wsrep_provider: "/usr/lib/galera/libgalera_smm.so"
|
||||
|
||||
_use_percona_upstream: no
|
||||
_use_percona_upstream: yes
|
||||
|
|
Loading…
Reference in New Issue