|
- {%- from "galera/map.jinja" import master with context %}
- {%- if master.get('enabled', False) %}
-
- {%- if master.get('ssl', {}).get('enabled', False) %}
- include:
- - galera._ssl
- {%- endif %}
-
- galera_packages:
- pkg.installed:
- - names: {{ master.pkgs }}
- - refresh: true
- - force_yes: True
-
- galera_run_dir:
- file.directory:
- - name: /var/run/mysqld
- - makedirs: true
- - mode: 755
- - user: mysql
- - group: root
- - require:
- - galera_packages
-
- {%- if salt['cmd.shell']('test -e /etc/salt/.galera_bootstrap; echo $?') != '0' %}
-
- galera_mariadb_stop_service:
- service.dead:
- - name: {{ master.service }}
-
- galera_mariadb_new_cluster:
- cmd.run:
- - name: /usr/bin/galera_new_cluster
- - require:
- - galera_packages
- - galera_config
-
- galera_set_root_password:
- cmd.run:
- - name: mysqladmin password "{{ master.admin.password }}"
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
- - require:
- - galera_mariadb_new_cluster
-
- mariadb_update_maint_password:
- cmd.run:
- - name: mysql -u root -p{{ master.admin.password }} -e "GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '{{ master.maintenance_password }}';"
- {%- if grains.get('noservices') %}
- - onlyif: /bin/false
- {%- endif %}
- - require:
- - galera_mariadb_new_cluster
-
- galera_mariadb_finish_flag:
- file.touch:
- - name: /etc/salt/.galera_bootstrap
- - require:
- - galera_mariadb_new_cluster
-
- {%- endif %}
-
- galera_config:
- file.managed:
- - name: {{ master.config }}
- - source: salt://galera/files/my.cnf
- - mode: 644
- - template: jinja
-
- mariadb_service_enable:
- service.running:
- - name: {{ master.service }}
- - enable: true
- - require:
- - galera_packages
- - galera_config
-
- {%- endif %}
|