Skip to content

Commit

Permalink
SUSE: Switch to upstream MariaDB repository
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Markos Chandras committed Jan 23, 2018
1 parent baa97f1 commit a37bfcc
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 26 deletions.
52 changes: 46 additions & 6 deletions tasks/galera_install_zypper.yml
Expand Up @@ -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:
Expand Down
55 changes: 35 additions & 20 deletions vars/suse-42.yml
Expand Up @@ -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_mariadb_server_package: "mariadb"
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_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
Expand Down

0 comments on commit a37bfcc

Please sign in to comment.