From aff7866ffe0f4b5a15af594c0143a09704e59b5d Mon Sep 17 00:00:00 2001 From: Markos Chandras Date: Mon, 22 Jan 2018 16:28:39 +0000 Subject: [PATCH] vars: Install qpress only when galera_xtrabackup_compression is true The qpress library is only needed for xtrabackup compression. The compression only occurs when a new node is joining the cluster which shouldn't happen very often. The variable is set to true only when the architecture is x86_64 since that's the only arch that's supported by the upstream repository and CentOS and Ubuntu do not provide qpress in the downstream distributions at all. Change-Id: Iae8b5d0e0998c85ee453efc6620940c80243540e --- defaults/main.yml | 4 ++-- tasks/galera_install.yml | 7 +++++++ templates/cluster.cnf.j2 | 2 +- vars/redhat-7.yml | 6 +++--- vars/suse-42.yml | 2 +- vars/ubuntu-16.04.yml | 3 ++- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 1deff435..06dfbe7a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -114,8 +114,8 @@ galera_wsrep_provider_options: galera_wsrep_sst_auth_user: "root" galera_wsrep_sst_auth_password: "{{ galera_root_password }}" -# Enable compression of backups -galera_xtrabackup_compression: true +# Enable compression of backups. Qpress is only availabe for x86_64 +galera_xtrabackup_compression: "{{ (ansible_architecture == 'x86_64') | ternary(true, false) }}" # xtrabackup parallel/compression/sync threads galera_xtrabackup_threads: 4 diff --git a/tasks/galera_install.yml b/tasks/galera_install.yml index 953c04fb..26e9c870 100644 --- a/tasks/galera_install.yml +++ b/tasks/galera_install.yml @@ -76,6 +76,13 @@ name: "{{ galera_server_mariadb_distro_packages_remove | default([]) }}" state: absent +- name: Fail if compression is enabled on unsupported architecture + fail: + msg: "qpress compression is only available on x86_64 architectures" + when: + - galera_xtrabackup_compression | bool + - ansible_architecture != 'x86_64' + - include: "galera_install_{{ ansible_pkg_mgr }}.yml" - name: Install pip packages diff --git a/templates/cluster.cnf.j2 b/templates/cluster.cnf.j2 index 99f8cc54..2de569be 100644 --- a/templates/cluster.cnf.j2 +++ b/templates/cluster.cnf.j2 @@ -49,7 +49,7 @@ wsrep_retry_autocommit = {{ galera_wsrep_retry_autocommit }} [xtrabackup] {% if galera_xtrabackup_compression | bool %} compress +compress-threads = {{ galera_xtrabackup_threads }} {% endif %} parallel = {{ galera_xtrabackup_threads }} -compress-threads = {{ galera_xtrabackup_threads }} rebuild-threads = {{ galera_xtrabackup_threads }} diff --git a/vars/redhat-7.yml b/vars/redhat-7.yml index aabb27fc..dcddabd7 100644 --- a/vars/redhat-7.yml +++ b/vars/redhat-7.yml @@ -45,8 +45,6 @@ galera_server_mariadb_distro_packages: - which - "{{ galera_mariadb_server_package }}" - MariaDB-shared - - percona-xtrabackup - - percona-toolkit - rsync - socat @@ -56,6 +54,7 @@ galera_server_mariadb_distro_packages_remove: - mariadb-config - mariadb-server - mariadb-libs + - percona-xtrabackup # The packages to uninstall during an upgrade from a previous version galera_server_upgrade_packages_remove: @@ -77,8 +76,9 @@ _galera_percona_xtrabackup_repo: state: "present" galera_server_percona_distro_packages: - - qpress + - 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" diff --git a/vars/suse-42.yml b/vars/suse-42.yml index 2527ee4d..eb2e9ecc 100644 --- a/vars/suse-42.yml +++ b/vars/suse-42.yml @@ -68,9 +68,9 @@ _galera_repo: gpgkey: "https://yum.mariadb.org/RPM-GPG-KEY-MariaDB" galera_server_percona_distro_packages: - - qpress - percona-toolkit - percona-xtrabackup + - "{{ (galera_xtrabackup_compression | bool) | ternary('qpress', '') }}" galera_wsrep_provider: "/usr/lib64/galera/libgalera_smm.so" diff --git a/vars/ubuntu-16.04.yml b/vars/ubuntu-16.04.yml index 5672c01b..6abfe181 100644 --- a/vars/ubuntu-16.04.yml +++ b/vars/ubuntu-16.04.yml @@ -82,8 +82,9 @@ galera_debconf_items: vtype: "string" galera_server_percona_distro_packages: - - qpress + - 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/debian/xenial/x86_64/percona-xtrabackup-24_2.4.8-1.xenial_amd64.deb"