{% set mysql_version = pillar.mysql.get('server', {}).get('version', '5.6') %} {% set galera_version = pillar.galera.get('master', {}).get('version', '3') %} {%- 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 %} {%- 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': { 'config': '/etc/mysql/my.cnf', 'enabled': False, 'user': clustercheck, 'password': clustercheck, 'port': '9200' }, 'RedHat': { 'config': '/etc/my.cnf', 'enabled': False, 'user': clustercheck, 'password': clustercheck, 'port': '9200' }, }, merge=pillar.galera.get('clustercheck', {})) %}