Small refactoring for Galera Cluster

pull/33/head
Emilien Mantel 2019-04-12 11:25:20 +02:00
parent b8ad3b8b64
commit 254a986648
9 changed files with 18 additions and 24 deletions

View File

@ -25,8 +25,7 @@ Ansible 2.5+
Role Variables
--------------
- `mariadb_origin`: origin of the package ("default" or "upstream")
- `mariadb_vendor`: "mariadb", "mariadb\_galera"
- `mariadb_use_galera`: set true to configure and install Galera Cluster
### Configuration
@ -75,7 +74,7 @@ Example Playbook
- hosts: servers
roles:
- { role: HanXHX.mysql, mariadb_origin: 'upstream', mariadb_vendor: 'mariadb' }
- { role: HanXHX.mysql, mariadb_origin: 'upstream' }
License
-------

14
Vagrantfile vendored
View File

@ -16,13 +16,13 @@ Vagrant.configure("2") do |config|
cases = [
# Debian Stretch
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'default', mariadb_vendor: 'mariadb' }, groups: ['master'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'default', mariadb_vendor: 'mariadb' }, groups: ['slave'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'upstream', mariadb_vendor: 'mariadb' }, groups: ['master'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream', mariadb_vendor: 'mariadb' }, groups: ['slave'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'upstream' }, groups: ['mariadbgalera', '1'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['mariadbgalera', '2'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['mariadbgalera', '3'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'default' }, groups: ['master'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['slave'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'upstream' }, groups: ['master'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['slave'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'upstream' }, groups: ['mariadbgalera', '1'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['mariadbgalera', '2'] },
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['mariadbgalera', '3'] },
]
cases.each_with_index do |opts,index|

View File

@ -4,7 +4,7 @@
# Setup
# -------------------------------------
mariadb_origin: 'default'
mariadb_vendor: 'mariadb'
mariadb_use_galera: false
mariadb_root_password: 'change_me_NOW'
mariadb_notify_restart: true
mariadb_upstream_apt_src: false

View File

@ -1,17 +1,16 @@
---
- name: INCLUDE | Use Percona repository
- name: INCLUDE | Setup Percona repository
include: 'percona/apt.yml'
when: mariadb_use_percona_apt
- name: INCLUDE | Install MariaDB from Debian repo
include: 'mariadb/default.yml'
when: mariadb_origin == 'default' and mariadb_vendor == 'mariadb'
- name: INCLUDE | Install MariaDB from MariaDB repo
- name: INCLUDE | Setup MariaDB repository
include: 'mariadb/upstream.yml'
when: mariadb_origin == 'upstream'
- name: INCLUDE | Install MariaDB
include: 'mariadb/default.yml'
- name: APT | Install few MariaDB related tools
apt:
pkg: "{{ mariadb_tools }}"

View File

@ -28,4 +28,4 @@
- name: APT | Install Galera
apt:
pkg: galera-3
when: mariadb_vendor == 'mariadb_galera'
when: mariadb_use_galera

View File

@ -19,6 +19,3 @@
apt_repository:
repo: 'deb-src {{ mariadb_repository }} {{ ansible_distribution_release }} main'
when: mariadb_upstream_apt_src
- name: INCLUDE | Normal Install
include: default.yml

View File

@ -43,7 +43,7 @@
- name: INCLUDE | Galera
include: galera/main.yml
when: mariadb_vendor == 'mariadb_galera'
when: mariadb_use_galera
- name: INCLUDE | Replication
include: replication/main.yml

View File

@ -1,4 +1,4 @@
mariadb_vendor: 'mariadb_galera'
mariadb_use_galera: true
mariadb_galera_members:
- '{% if is_docker %}docker-{% else %}vbox-{% endif %}{{ ansible_distribution_release }}-upstream-mariadbgalera-1'
- '{% if is_docker %}docker-{% else %}vbox-{% endif %}{{ ansible_distribution_release }}-upstream-mariadbgalera-2'

View File

@ -1 +0,0 @@
mariadb_vendor: 'mysql'