diff --git a/tasks/galera_install.yml b/tasks/galera_install.yml index 1c3adab9..e0562552 100644 --- a/tasks/galera_install.yml +++ b/tasks/galera_install.yml @@ -13,18 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -- include: galera_install_apt.yml - static: no - when: - - ansible_pkg_mgr == 'apt' +- include: "galera_install_{{ ansible_pkg_mgr }}.yml" tags: - install-apt - -- include: galera_install_yum.yml - static: no - when: - - ansible_pkg_mgr == 'yum' - tags: - install-yum - name: Install pip packages diff --git a/tasks/galera_install_apt.yml b/tasks/galera_install_apt.yml index e22e62d8..c1bf46e1 100644 --- a/tasks/galera_install_apt.yml +++ b/tasks/galera_install_apt.yml @@ -13,20 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: Install galera apt pre packages - apt: - pkg: "{{ item }}" - state: "{{ galera_server_package_state }}" - update_cache: yes - cache_valid_time: "{{ cache_timeout }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ galera_server_required_distro_packages }}" - tags: - - galera-pre-apt-packages - - name: Add galera apt-keys apt_key: id: "{{ item.hash_id }}" @@ -111,45 +97,21 @@ mode: "0755" backup: yes -- name: Install galera packages +- name: Install galera_server role remote packages (apt) apt: - pkg: "{{ item }}" + name: "{{ item }}" state: "{{ galera_server_package_state }}" update_cache: yes cache_valid_time: "{{ add_repos | changed | ternary('0', cache_timeout) }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ galera_server_mariadb_distro_packages }}" - notify: Restart mysql - tags: - - galera-apt-packages + with_items: + - "{{ galera_packages_list | selectattr('enabled') | rejectattr('local_pkg') | sum(attribute='packages', start=[]) }}" -- name: Install percona-xtrabackup package from .deb +- name: Install galera_server role local packages (apt) apt: - deb: "{{ percona_package_path }}" + deb: "{{ item }}" force: yes - when: not use_percona_upstream | bool - tags: - - percona-apt-packages - -- name: Install qpress package from .deb - apt: - deb: "{{ qpress_package_path }}" - force: yes - when: not use_percona_upstream | bool - tags: - - percona-apt-packages - -- name: Install percona packages - apt: - pkg: "{{ item }}" - state: installed - with_items: "{{ galera_server_percona_distro_packages }}" - when: use_percona_upstream | bool - tags: - - percona-apt-packages + with_items: + - "{{ galera_packages_list | selectattr('enabled') | selectattr('local_pkg') | sum(attribute='packages', start=[]) }}" - name: Remove policy-rc file: diff --git a/tasks/galera_install_yum.yml b/tasks/galera_install_yum.yml index c156f998..a4fd62bb 100644 --- a/tasks/galera_install_yum.yml +++ b/tasks/galera_install_yum.yml @@ -67,18 +67,6 @@ tags: - galera-repos -- name: Install galera yum pre packages - yum: - pkg: "{{ item }}" - state: "{{ galera_server_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ galera_server_required_distro_packages }}" - tags: - - galera-pre-yum-packages - - name: Install percona repo yum: pkg: "{{ galera_percona_xtrabackup_repo.repo }}" @@ -91,30 +79,12 @@ tags: - galera-pre-yum-packages -- name: Install percona yum packages +- name: Install galera_server role remote packages (yum) yum: - pkg: "{{ item }}" + name: "{{ item }}" state: "{{ galera_server_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ galera_server_percona_distro_packages }}" - when: use_percona_upstream | bool - tags: - - galera-pre-yum-packages - -- name: Install galera yum packages - yum: - pkg: "{{ item }}" - state: "{{ galera_server_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ galera_server_mariadb_distro_packages }}" - tags: - - galera-pre-yum-packages + with_items: + - "{{ galera_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}" - name: Enable mysql to start at boot service: diff --git a/tasks/main.yml b/tasks/main.yml index 9ca5d7ad..c4780420 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -36,6 +36,11 @@ tags: - always +- name: Gather variables that apply to all operating systems + include_vars: common.yml + tags: + - always + - include: galera_upgrade_check.yml tags: galera_server-upgrade diff --git a/vars/common.yml b/vars/common.yml new file mode 100644 index 00000000..7dfa3d20 --- /dev/null +++ b/vars/common.yml @@ -0,0 +1,31 @@ +--- +# 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 + - packages: "{{ [percona_package_path] }}" + enabled: "{{ not use_percona_upstream }}" + local_pkg: yes + - packages: "{{ [qpress_package_path] }}" + enabled: "{{ not use_percona_upstream }}" + local_pkg: yes