SUSE: Switch to upstream MariaDB repository

The OBS development repository was proven to be quite fragile since
the mariadb packages were moving far to quickly. Whilst this has helped
to catch bugs when OpenStack services were used against newer MariaDB
versions, it also created a very unstable infrastructure for openSUSE
deployments. As such, we have now switched to using the upstream SLE
packages as provided by MariaDB upstream so all distributions are
aligned to how they deploy the Galera clusters. This further allow us
to report upstream bugs which fix problems across all distributions.

Change-Id: Ic88c55fd551f3d1666b9bbfd57040fe8fedaa990
This commit is contained in:
Markos Chandras 2018-01-23 18:03:37 +00:00
parent baa97f1df2
commit a37bfcca09
2 changed files with 81 additions and 26 deletions

View File

@ -13,14 +13,54 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Update the local file system CRUD
file:
src: "{{ item.src|default(omit) }}"
path: "{{ item.path }}"
state: "{{ item.state }}"
force: "{{ item.force|default(omit) }}"
with_items:
- { path: "/etc/mysql", state: "directory" }
- { path: "/etc/mysql/conf.d", state: "directory" }
- { src: "/etc/mysql/conf.d", path: "/etc/my.cnf.d", state: "link", force: true }
- { src: "/etc/mysql/my.cnf", path: "/etc/my.cnf", state: "link", force: true }
- name: Add galera gpg-keys
block:
- name: Add keys (primary keyserver)
rpm_key:
state: present
key: "{{ item.keyserver }}/{{ item.key_name }}"
register: add_keys
until: add_keys|success
retries: 5
delay: 2
with_items: "{{ galera_gpg_keys }}"
rescue:
- name: Add keys (fallback keyserver)
rpm_key:
state: present
key: "{{ item.fallback_keyserver }}/{{ item.key_name }}"
register: add_keys
until: add_keys|success
retries: 5
delay: 2
with_items: "{{ galera_gpg_keys }}"
when: item.fallback_keyserver is defined
- name: Add galera repo
zypper_repository:
refresh: yes
name: "{{ item.name }}"
repo: "{{ item.uri }}"
auto_import_keys: yes
register: zypper_repository_added
with_items: "{{ galera_repo }}"
name: "{{ galera_repo.name }}"
description: "{{ galera_repo.description }}"
repo: "{{ galera_repo.baseurl }}"
autorefresh: yes
auto_import_keys: no
enabled: yes
register: add_repos
until: add_repos | success
retries: 5
delay: 2
- name: Install galera_server role remote packages (zypper)
zypper:

View File

@ -13,50 +13,65 @@
# See the License for the specific language governing permissions and
# limitations under the License.
_galera_repo:
- name: "OBS:server_database"
uri: "{{ galera_server_opensuse_mirror_obs_url | default('http://download.opensuse.org') }}/repositories/server:/database/openSUSE_Leap_{{ ansible_distribution_version }}"
# Galera GPG Keys
_galera_gpg_keys:
- key_name: 'RPM-GPG-KEY-MariaDB'
keyserver: 'https://yum.mariadb.org'
fallback_keyserver: 'https://yum.mariadb.org'
# Default private device setting
_galera_disable_privatedevices: yes
galera_server_required_distro_packages:
- galera-3
- galera
- gpg2
- libaio-devel
- libstdc++-devel
- libgcrypt-devel
- libmysqlclient-devel
- mariadb-client
- qpress
- MariaDB-client
- MariaDB-devel
- xinetd
galera_etc_conf_file: "/etc/my.cnf"
galera_etc_include_dir: "/etc/my.cnf.d"
galera_var_run_socket: "/var/run/mysql/mysql.sock"
galera_etc_conf_file: "/etc/mysql/my.cnf"
galera_etc_include_dir: "/etc/mysql/conf.d"
galera_var_run_socket: "/var/lib/mysql/mysql.sock"
_galera_mariadb_server_package: "mariadb"
galera_server_upgrade_packages_remove:
- "{{ galera_mariadb_server_package }}"
- galera-3
galera_mariadb_service_name: "mysql"
_galera_mariadb_server_package: "MariaDB-server"
galera_server_mariadb_distro_packages:
- which
- "{{ galera_mariadb_server_package }}"
- mariadb-galera
- percona-toolkit
- MariaDB-shared
- rsync
- socat
# Conflicting packages with those from the MariaDB repository
galera_server_mariadb_distro_packages_remove:
- libmariadb-devel
- mariadb
- mariadb-client
- mariadb-tools
# The packages to uninstall during an upgrade from a previous version
galera_server_upgrade_packages_remove:
- MariaDB-Galera-server
- MariaDB-server
galera_mariadb_service_name: "mariadb"
_galera_repo_url: "http://yum.mariadb.org/{{ galera_major_version }}/sles/12/x86_64"
_galera_repo:
name: MariaDB
description: "MariaDB Repo"
baseurl: "{{ galera_repo_url }}"
gpgkey: "https://yum.mariadb.org/RPM-GPG-KEY-MariaDB"
galera_server_percona_distro_packages:
- qpress
- percona-toolkit
- percona-xtrabackup
galera_wsrep_provider: "/usr/lib64/galera-3/libgalera_smm.so"
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