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.

Galera server Role fix: https://review.openstack.org/#/c/536955/
Change-Id: Ib270b0fe23de76620491247efc3352fbc6c1e9b5
This commit is contained in:
Markos Chandras 2018-01-24 13:48:12 +00:00
parent b381fede82
commit bb6feac7ab
4 changed files with 87 additions and 16 deletions

View File

@ -65,7 +65,3 @@ galera_ssl_server: "{{ (galera_cluster_members | default(['localhost']))[0] }}"
galera_ssl_ca_cert: /etc/ssl/certs/galera-ca.pem
# The path to Galera CA certificate file on the deployment host
# galera_user_ssl_ca_cert: /etc/openstack_deploy/self_signed_certs/galera-ca.pem
## Set default mirror for openSUSE repositories
# NOTE(hwoarang): Ensure that the full path to the 'opensuse' directory is used.
#galera_client_opensuse_mirror_obs_url: "http://widehat.opensuse.org"

View File

@ -0,0 +1,5 @@
---
deprecations:
- |
The ``galera_client_opensuse_mirror_obs_url`` variable has been removed
since the OBS repository is no longer used to install the MariaDB packages.

View File

@ -13,13 +13,75 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Add galera client zypper repository
- name: Stats /etc/my.cnf.d
stat:
path: /etc/my.cnf.d
register: mycnfd_stat
- name: Destroy my.cnf.d dir if is dir
file:
path: /etc/my.cnf.d
state: absent
force: true
when:
- mycnfd_stat.stat.isdir is defined
- mycnfd_stat.stat.isdir == True
- 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 }
tags:
- galera-config
- 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_client_gpg_keys }}"
tags:
- 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_client_gpg_keys }}"
when: item.fallback_keyserver is defined
tags:
- galera-gpg-keys
- 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_client_repo }}"
name: "{{ item.name }}"
description: "{{ item.description }}"
repo: "{{ item.baseurl }}"
autorefresh: yes
auto_import_keys: no
enabled: yes
register: add_repos
until: add_repos | success
retries: 5
delay: 2
with_items:
- "{{ galera_client_repo }}"
tags:
- galera-repos

View File

@ -13,10 +13,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
_galera_client_repo_url: "{{ galera_client_opensuse_mirror_obs_url | default('http://download.opensuse.org') }}/repositories/server:/database/openSUSE_Leap_{{ ansible_distribution_version }}"
_galera_client_repo_url: "http://yum.mariadb.org/{{ galera_client_major_version }}/sles/12/x86_64"
_galera_client_repo:
- name: "OBS:server_database"
uri: "{{ galera_client_repo_url }}"
name: MariaDB
description: "MariaDB Repo"
baseurl: "{{ galera_client_repo_url }}"
galera_client_distro_packages:
- libbz2-devel
@ -25,7 +26,14 @@ galera_client_distro_packages:
- libaio-devel
- libstdc++-devel
- libgcrypt-devel
- mariadb-client
- libmysqlclient-devel
- libopenssl-devel
- MariaDB-client
- MariaDB-devel
- MariaDB-shared
- python-devel
# Galera GPG Keys
_galera_client_gpg_keys:
- key_name: 'RPM-GPG-KEY-MariaDB'
keyserver: 'https://yum.mariadb.org'
fallback_keyserver: 'http://yum.mariadb.org'