[WIP] Support Buster
parent
8b3250c07c
commit
d1736a0f1b
14
.travis.yml
14
.travis.yml
|
@ -1,16 +1,20 @@
|
|||
env:
|
||||
- PLATFORM='docker-stretch-default-master' ANSIBLE_VERSION='ansible>=2.5,<2.6'
|
||||
- PLATFORM='docker-stretch-upstream-master' ANSIBLE_VERSION='ansible>=2.5,<2.6'
|
||||
- PLATFORM='docker-stretch-upstream-galera-1' ANSIBLE_VERSION='ansible>=2.5,<2.6'
|
||||
- PLATFORM='docker-buster-default-master' ANSIBLE_VERSION='ansible>=2.5,<2.6'
|
||||
- PLATFORM='docker-stretch-default-master' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-stretch-upstream-master' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-stretch-default-galera-1' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-stretch-upstream-galera-1' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-buster-default-master' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-buster-upstream-master' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-buster-default-galera-1' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-buster-upstream-galera-1' ANSIBLE_VERSION='ansible>=2.6,<2.7'
|
||||
- PLATFORM='docker-stretch-default-master' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-stretch-upstream-master' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-stretch-default-galera-1' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-stretch-upstream-galera-1' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-buster-default-master' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-buster-upstream-master' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-buster-default-galera-1' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
- PLATFORM='docker-buster-upstream-galera-1' ANSIBLE_VERSION='ansible>=2.7,<2.8'
|
||||
|
||||
sudo: required
|
||||
|
||||
|
@ -25,7 +29,7 @@ services:
|
|||
before_install:
|
||||
- wget https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.deb
|
||||
- sudo dpkg -i vagrant_2.0.1_x86_64.deb
|
||||
- vagrant plugin install vagrant-hostmanager
|
||||
- vagrant plugin install vagrant-hostmanager
|
||||
|
||||
install:
|
||||
- pip install "$ANSIBLE_VERSION"
|
||||
|
|
|
@ -10,6 +10,7 @@ Install and configure MariaDB (Galera Cluster). Manage replication (master/slave
|
|||
| Debian Stretch | Debian | 10.1 |
|
||||
| Debian Stretch | Upstream | 10.1 / 10.2 / 10.3 / 10.4 |
|
||||
| Debian Buster | Debian | 10.3 |
|
||||
| Debian Buster | Upstream | 10.3 / 10.4 |
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
@ -17,6 +18,7 @@ Notes
|
|||
* Galera Cluster is experimental
|
||||
* Due to Vagrant + Docker limitation (private network), replication/galera can't be checked with Travis
|
||||
* If you need to test this role with Vagrant, you must install hostmanager plugin: `vagrant plugin install vagrant-hostmanager`
|
||||
* Percona Xtrabackup is not available in upstream repository. This feature is disabled in the role.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
|
|
@ -17,19 +17,49 @@ Vagrant.configure("2") do |config|
|
|||
config.hostmanager.include_offline = false
|
||||
|
||||
cases = [
|
||||
# ========================
|
||||
# Debian Stretch
|
||||
# ========================
|
||||
|
||||
# Default replication
|
||||
{ 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'] },
|
||||
|
||||
# Upstream replication
|
||||
{ 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: ['galera', '1'] },
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '2'] },
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '3'] },
|
||||
|
||||
# Galera Debian
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'default' }, groups: ['galera', '1'] },
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['galera', '2'] },
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['galera', '3'] },
|
||||
|
||||
# Galera Upstream
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: dk_deb_stretch, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '1'] },
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '2'] },
|
||||
{ os_name: 'stretch', vbox: vbox_deb_stretch, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '3'] },
|
||||
|
||||
# ========================
|
||||
# Debian Buster
|
||||
# ========================
|
||||
|
||||
# Default replication
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'default' }, groups: ['master'] },
|
||||
# { os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['slave'] },
|
||||
|
||||
# Upstream replication
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'upstream' }, groups: ['master'] },
|
||||
# { os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['slave'] },
|
||||
|
||||
# Galera Debian
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'default' }, groups: ['galera', '1'] },
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['galera', '2'] },
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'default' }, groups: ['galera', '3'] },
|
||||
|
||||
# Galera Upstream
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: dk_deb_buster, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '1'] },
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '2'] },
|
||||
{ os_name: 'buster', vbox: vbox_deb_buster, docker: nil, vars: {mariadb_origin: 'upstream' }, groups: ['galera', '3'] },
|
||||
]
|
||||
|
||||
cases.each_with_index do |opts,index|
|
||||
|
|
|
@ -124,7 +124,7 @@ mariadb_users: []
|
|||
# -------------------------------------
|
||||
# MariaDB
|
||||
# -------------------------------------
|
||||
mariadb_version: '10.1'
|
||||
mariadb_version: '10.3'
|
||||
mariadb_mirror_domain: "ftp.igh.cnrs.fr"
|
||||
# See: https://downloads.mariadb.org/mariadb/repositories
|
||||
mariadb_repository: "http://{{ mariadb_mirror_domain }}/pub/mariadb/repo/{{ mariadb_version }}/debian"
|
||||
|
|
|
@ -1,20 +1,16 @@
|
|||
---
|
||||
|
||||
- name: APT_KEY | Install Percona key
|
||||
apt_key:
|
||||
keyserver: "keyserver.ubuntu.com"
|
||||
id: "8507EFA5"
|
||||
- name: APT | Install Percona repository
|
||||
apt:
|
||||
deb: https://repo.percona.com/apt/percona-release_latest.generic_all.deb
|
||||
|
||||
- name: TEMPLATE | Deploy APT pinning (prevent upgrades from Debian)
|
||||
template:
|
||||
src: etc/apt/preferences.d/95-percona.j2
|
||||
dest: /etc/apt/preferences.d/95-percona
|
||||
- name: COMMAND | Enable percona tools repository
|
||||
command: percona-release enable tools release
|
||||
args:
|
||||
creates: /etc/apt/sources.list.d/percona-original-release.list
|
||||
register: p
|
||||
|
||||
- name: APT_REPOSITORY | Add Percona repository
|
||||
apt_repository:
|
||||
repo: 'deb {{ mariadb_percona_repository }} {{ ansible_distribution_release }} main'
|
||||
|
||||
- name: APT_RESPOSITORY | Add Percona (src) repository
|
||||
apt_repository:
|
||||
repo: 'deb-src {{ mariadb_percona_repository }} {{ ansible_distribution_release }} main'
|
||||
when: mariadb_upstream_apt_src
|
||||
- name: APT | Update cache
|
||||
apt:
|
||||
update_cache: yes
|
||||
when: p.changed
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
---
|
||||
|
||||
- name: SET_FACT | Bypass https://github.com/ansible/ansible/issues/19874
|
||||
set_fact:
|
||||
ansible_distribution_release: 'buster'
|
||||
- block:
|
||||
|
||||
- name: SET_FACT | Bypass https://github.com/ansible/ansible/issues/19874
|
||||
set_fact:
|
||||
ansible_distribution_release: 'buster'
|
||||
|
||||
- name: SET_FACT | Percona Toolkit is not present in upstream repo for Buster
|
||||
set_fact:
|
||||
mariadb_use_percona_apt: false
|
||||
mariadb_install_xtrabackup_package: false
|
||||
|
||||
when: ansible_facts.distribution_major_version == "buster/sid"
|
||||
|
||||
- name: INCLUDE_VARS | Related to OS version
|
||||
|
|
|
@ -79,6 +79,6 @@
|
|||
set_fact:
|
||||
mariadb_galera_primary_node: '{% if is_docker %}docker-{% else %}vbox-{% endif %}{{ ansible_distribution_release }}-{{ mariadb_origin }}-galera-1'
|
||||
mariadb_wsrep_node_address: "{{ '127.0.0.1' if is_docker else ansible_eth1.ipv4.address }}"
|
||||
mariadb_version: '10.1'
|
||||
mariadb_version: '10.3'
|
||||
roles:
|
||||
- ../../
|
||||
|
|
Loading…
Reference in New Issue