Browse Source

Version specified on pillar

Change-Id: Ib5db9f151baaf3fa0bca97a5457cf836bc57b88c
mysql-version-on-pillar
Petr Michalec 7 years ago
parent
commit
f634407459
No account linked to committer's email address
5 changed files with 196 additions and 120 deletions
  1. +9
    -1
      .kitchen.yml
  2. +8
    -4
      .travis.yml
  3. +121
    -63
      galera/map.jinja
  4. +1
    -0
      galera/master.sls
  5. +57
    -52
      tests/pillar/master_cluster.sls

+ 9
- 1
.kitchen.yml View File

@@ -30,8 +30,16 @@ provisioner:
top.sls:
base:
"*":
- galera
- galeracluster_debian_repo
- galera
- mysqlver
mysqlver.sls:
linux:
system:
repo:
# override url/path encoded versions
mysql-wsrep:
source: 'deb http://releases.galeracluster.com/mysql-wsrep-<%= ENV['MYSQL_VER'] || '5.6' %>/ubuntu <%= ENV['PLATFORM'] || 'xenial' %> main'
pillars-from-files:
galeracluster_debian_repo.sls: tests/pillar/repo_galeracluster.sls


+ 8
- 4
.travis.yml View File

@@ -17,10 +17,14 @@ install:
- bundle install

env:
- PLATFORM=trevorj/salty-whales:trusty SUITE=master_cluster
- PLATFORM=trevorj/salty-whales:xenial SUITE=master_cluster
- PLATFORM=trevorj/salty-whales:trusty SUITE=slave_cluster
- PLATFORM=trevorj/salty-whales:xenial SUITE=slave_cluster
- PLATFORM=trevorj/salty-whales:trusty SUITE=master_cluster MYSQL_VER=5.6
- PLATFORM=trevorj/salty-whales:xenial SUITE=master_cluster MYSQL_VER=5.6
- PLATFORM=trevorj/salty-whales:trusty SUITE=slave_cluster MYSQL_VER=5.6
- PLATFORM=trevorj/salty-whales:xenial SUITE=slave_cluster MYSQL_VER=5.6
- PLATFORM=trevorj/salty-whales:trusty SUITE=master_cluster MYSQL_VER=5.7
- PLATFORM=trevorj/salty-whales:xenial SUITE=master_cluster MYSQL_VER=5.7
- PLATFORM=trevorj/salty-whales:trusty SUITE=slave_cluster MYSQL_VER=5.7
- PLATFORM=trevorj/salty-whales:xenial SUITE=slave_cluster MYSQL_VER=5.7

before_script:
- set -o pipefail

+ 121
- 63
galera/map.jinja View File

@@ -1,68 +1,126 @@
{% set mysql_version = pillar.mysql.get('server', {}).get('version', '5.6') %}
{% set galera_version = pillar.galera.get('master', {}).get('version', '3') %}

{%- set master = salt['grains.filter_by']({
'default': {
'max_connections': 20000,
'innodb_buffer_pool_size': '3138M',
},
'Debian': {
'pkgs': ['mysql-wsrep-5.6', 'galera-3', 'rsync', 'python-mysqldb', 'psmisc', 'netcat', 'percona-xtrabackup', 'socat', 'libdbd-mysql', 'python-pymysql'],
'service': 'mysql',
'wsrep_provider': '/usr/lib/galera/libgalera_smm.so',
'log_file': '/var/log/mysql.log',
'socket': '/var/run/mysqld/mysqld.sock',
'config': '/etc/mysql/my.cnf',
},
'RedHat': {
'pkgs': ['galera', 'mariadb-galera-server', 'mariadb', 'MySQL-python', 'rsync', 'percona-xtrabackup', 'psmisc', 'socat'],
'xtrabackup_repo': 'http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm',
'service': 'mariadb',
'wsrep_provider': '/usr/lib64/galera/libgalera_smm.so',
'log_file': '/var/log/mariadb/mariadb.log',
'socket': '/var/run/mariadb/mysqld.sock',
'config': '/etc/my.cnf',
},
}, merge=pillar.galera.get('master', {}), base='default') %}
{%- load_yaml as master %}
default:
max_connections: 20000
innodb_buffer_pool_size: '3138M'
Debian:
pkgs:
- mysql-wsrep-{{ mysql_version }}
- galera-{{ galera_version }}
- rsync
- python-mysqldb
- psmisc
- netcat
- percona-xtrabackup
- socat
- libdbd-mysql
- python-pymysql
service: mysql
wsrep_provider: /usr/lib/galera/libgalera_smm.so
log_file: /var/log/mysql.log
socket: /var/run/mysqld/mysqld.sock
config: /etc/mysql/my.cnf
RedHat:
pkgs:
- galera
- mariadb-galera-server
- mariadb
- MySQL-python
- rsync
- percona-xtrabackup
- psmisc
- socat
xtrabackup_repo: http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
service: mariadb
wsrep_provider: /usr/lib64/galera/libgalera_smm.so
log_file: /var/log/mariadb/mariadb.log
socket: /var/run/mariadb/mysqld.sock
config: /etc/my.cnf
{%- endload %}
{%- set _pillar = pillar.galera.get('master', {}) %}
{%- if _pillar|length > 1 %}
{%- set master = salt['grains.filter_by'](master, merge=_pillar, base='default') %}
{%- else %}
{%- set master = salt['grains.filter_by'](master, base='default') %}
{%- endif %}

{%- set slave = salt['grains.filter_by']({
'default': {
'max_connections': 20000,
'innodb_buffer_pool_size': '3138M',
},
'Debian': {
'pkgs': ['mysql-wsrep-5.6', 'galera-3', 'rsync', 'python-mysqldb', 'libmysqlclient18', 'psmisc', 'netcat', 'percona-xtrabackup', 'socat', 'libdbd-mysql', 'python-pymysql'],
'service': 'mysql',
'wsrep_provider': '/usr/lib/galera/libgalera_smm.so',
'log_file': '/var/log/mysql.log',
'socket': '/var/run/mysqld/mysqld.sock',
'config': '/etc/mysql/my.cnf',
},
'RedHat': {
'pkgs': ['galera', 'mariadb-galera-server', 'mariadb', 'MySQL-python', 'rsync', 'percona-xtrabackup', 'psmisc', 'socat'],
'xtrabackup_repo': 'http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm',
'service': 'mariadb',
'wsrep_provider': '/usr/lib64/galera/libgalera_smm.so',
'log_file': '/var/log/mariadb/mariadb.log',
'socket': '/var/run/mariadb/mysqld.sock',
'config': '/etc/my.cnf',
},
}, merge=salt['grains.filter_by']({
'trusty': {
'pkgs': ['mysql-wsrep-5.6', 'galera-3', 'rsync', 'python-mysqldb', 'libmysqlclient18', 'psmisc', 'netcat', 'percona-xtrabackup', 'socat', 'libdbd-mysql', 'python-pymysql'],
'service': 'mysql',
'wsrep_provider': '/usr/lib/galera/libgalera_smm.so',
'log_file': '/var/log/mysql.log',
'socket': '/var/run/mysqld/mysqld.sock',
'config': '/etc/mysql/my.cnf',
},
'xenial': {
'pkgs': ['mysql-wsrep-5.6', 'galera-3', 'rsync', 'python-mysqldb', 'libmysqlclient-dev', 'psmisc', 'netcat', 'percona-xtrabackup', 'socat', 'libdbd-mysql', 'python-pymysql'],
'service': 'mysql',
'wsrep_provider': '/usr/lib/galera/libgalera_smm.so',
'log_file': '/var/log/mysql.log',
'socket': '/var/run/mysqld/mysqld.sock',
'config': '/etc/mysql/my.cnf',
},
}, grain='oscodename', merge=pillar.galera.get('slave', {})), base='default') %}

{%- load_yaml as slave %}
default:
max_connections: 20000
innodb_buffer_pool_size: '3138M'
Debian:
pkgs:
- mysql-wsrep-{{ mysql_version }}
- galera-{{ galera_version }}
- rsync
- python-mysqldb
- libmysqlclient18
- psmisc
- netcat
- percona-xtrabackup
- socat
- libdbd-mysql
- python-pymysql
service: mysql
wsrep_provider: /usr/lib/galera/libgalera_smm.so
log_file: /var/log/mysql.log
socket: /var/run/mysqld/mysqld.sock
config: /etc/mysql/my.cnf
RedHat:
pkgs:
- galera
- mariadb-galera-server
- mariadb
- MySQL-python
- rsync
- percona-xtrabackup
- psmisc
- socat
xtrabackup_repo: http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
service: mariadb
wsrep_provider: /usr/lib64/galera/libgalera_smm.so
log_file: /var/log/mariadb/mariadb.log
socket: /var/run/mariadb/mysqld.sock
config: /etc/my.cnf
{%- endload %}
{%- load_yaml as slave_oscodename %}
trusty:
pkgs:
- mysql-wsrep-{{ mysql_version }}
- galera-{{ galera_version }}
- rsync
- python-mysqldb
- libmysqlclient18
- psmisc
- netcat
- percona-xtrabackup
- socat
- libdbd-mysql
- python-pymysql
xenial:
pkgs:
- mysql-wsrep-{{ mysql_version }}
- galera-{{ galera_version }}
- rsync
- python-mysqldb
- libmysqlclient-dev
- psmisc
- netcat
- percona-xtrabackup
- socat
- libdbd-mysql
- python-pymysql
{%- endload %}
{%- set _pillar = pillar.galera.get('slave', {}) %}
{%- if _pillar|length > 1 %}
{%- set _oscodename = salt['grains.filter_by'](slave_oscodename, grain='oscodename', merge=_pillar) %}
{%- else %}
{%- set _oscodename = salt['grains.filter_by'](slave_oscodename, grain='oscodename') %}
{%- endif %}
{%- set slave = salt['grains.filter_by'](slave, merge=_oscodename, base='default') %}

{% set clustercheck = salt['grains.filter_by']({
'Debian': {

+ 1
- 0
galera/master.sls View File

@@ -36,6 +36,7 @@ galera_log_dir:
- pkg: galera_packages

{%- if grains.os_family == 'Debian' %}

galera_run_dir:
file.directory:
- name: /var/run/mysqld

+ 57
- 52
tests/pillar/master_cluster.sls View File

@@ -1,53 +1,58 @@
galera:
master:
enabled: true
name: galeracluster
bind:
address: 127.0.0.1
port: 3306
maintenance_password: password
admin:
user: root
password: password
members:
- host: 127.0.0.1
port: 4567
- host: 127.0.0.1
port: 4567
- host: 127.0.0.1
port: 4567
clustercheck:
enabled: True
user: clustercheck
galera:
master:
enabled: true
name: galeracluster
bind:
address: 127.0.0.1
port: 3306
maintenance_password: password
admin:
user: root
password: password
available_when_donor: 1
available_when_readonly: 1
port: 9200
max_connections: 20000
innodb_buffer_pool_size: 3138M
mysql:
server:
database:
mydb:
encoding: 'utf8'
users:
- name: haproxy
host: localhost
- name: haproxy
host: '%'
- name: haproxy
host: 127.0.0.1
- name: clustercheck
#host: localhost
password: password
database: '*.*'
grants: PROCESS
- name: inspector
host: 127.0.0.1
password: password
databases:
- database: mydb
table: mytable
grant_option: True
grants:
- all privileges
members:
- host: 127.0.0.1
port: 4567
- host: 127.0.0.1
port: 4567
- host: 127.0.0.1
port: 4567
clustercheck:
enabled: True
user: clustercheck
password: password
available_when_donor: 1
available_when_readonly: 1
port: 9200
max_connections: 20000
innodb_buffer_pool_size: 3138M
mysql:
server:
enabled: true
bind:
address: 0.0.0.0
port: 3306
protocol: tcp
database:
mydb:
encoding: 'utf8'
users:
- name: haproxy
host: localhost
- name: haproxy
host: '%'
- name: haproxy
host: 127.0.0.1
- name: clustercheck
#host: localhost
password: password
database: '*.*'
grants: PROCESS
- name: inspector
host: 127.0.0.1
password: password
databases:
- database: mydb
table: mytable
grant_option: True
grants:
- all privileges

Loading…
Cancel
Save