blob: c914fe20a0d96a24ad10fda3adca1c98c79956e3 [file] [log] [blame]
Ales Komarekcba48ac2015-04-30 11:40:44 +02001{%- from "galera/map.jinja" import master with context %}
2{%- if master.enabled %}
3
Filip Pytlounda679652016-02-17 10:56:10 +01004{%- if grains.os_family == 'RedHat' %}
5xtrabackup_repo:
6 pkg.installed:
7 - sources:
Filip Pytloun430a0df2016-02-17 11:02:35 +01008 - percona-release: {{ master.xtrabackup_repo }}
Filip Pytlounda679652016-02-17 10:56:10 +01009 - require_in:
10 - pkg: galera_packages
11{%- endif %}
12
Ales Komarekcba48ac2015-04-30 11:40:44 +020013galera_packages:
14 pkg.installed:
15 - names: {{ master.pkgs }}
Filip Pytlound20f7402016-02-17 11:01:00 +010016 - refresh: true
Ales Komarekcba48ac2015-04-30 11:40:44 +020017
18galera_log_dir:
19 file.directory:
20 - name: /var/log/mysql
21 - makedirs: true
22 - mode: 755
23 - require:
24 - pkg: galera_packages
25
Ales Komarek90da78d2015-04-30 16:01:11 +020026galera_init_script:
27 file.managed:
28 - name: /etc/init.d/mysql
29 - source: salt://galera/files/mysql
30 - mode: 755
31 - require:
32 - pkg: galera_packages
33
Ales Komarekcf92b4e2015-04-30 16:52:21 +020034{%- if salt['cmd.run']('test -e /root/.galera_bootstrap; echo $?') != '0' %}
Ales Komarekcba48ac2015-04-30 11:40:44 +020035
36galera_bootstrap_temp_config:
37 file.managed:
38 - name: {{ master.config }}
Ales Komarek1fe9c702015-04-30 15:46:37 +020039 - source: salt://galera/files/my.cnf.bootstrap
Ales Komarekcba48ac2015-04-30 11:40:44 +020040 - mode: 644
41 - template: jinja
42 - require:
43 - pkg: galera_packages
Ales Komarek90da78d2015-04-30 16:01:11 +020044 - file: galera_init_script
Ales Komarekcba48ac2015-04-30 11:40:44 +020045
46galera_bootstrap_start_service:
47 service.running:
Filip Pytloune40d54c2016-02-16 14:22:02 +010048 - name: {{ master.service }}
Ales Komarekcba48ac2015-04-30 11:40:44 +020049 - require:
50 - file: galera_bootstrap_temp_config
51
52galera_bootstrap_set_root_password:
53 cmd.run:
54 - name: mysqladmin password "{{ master.admin.password }}"
55 - require:
56 - service: galera_bootstrap_start_service
57
58mysql_bootstrap_update_maint_password:
59 cmd.run:
60 - name: mysql -u root -p{{ master.admin.password }} -e "GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '{{ master.maintenance_password }}';"
61 - require:
62 - cmd: galera_bootstrap_set_root_password
63
Ales Komarek41517c42015-04-30 15:58:19 +020064galera_bootstrap_stop_service:
Ales Komarekcba48ac2015-04-30 11:40:44 +020065 service.dead:
Ales Komarek41517c42015-04-30 15:58:19 +020066 - name: {{ master.service }}
Ales Komarekcba48ac2015-04-30 11:40:44 +020067 - require:
68 - cmd: mysql_bootstrap_update_maint_password
69
70galera_bootstrap_init_config:
71 file.managed:
72 - name: {{ master.config }}
Ales Komarek41517c42015-04-30 15:58:19 +020073 - source: salt://galera/files/my.cnf.init
Ales Komarekcba48ac2015-04-30 11:40:44 +020074 - mode: 644
75 - template: jinja
76 - require:
77 - service: galera_bootstrap_stop_service
78
Ales Komarek41517c42015-04-30 15:58:19 +020079galera_bootstrap_start_service_final:
80 service.running:
81 - name: {{ master.service }}
82 - require:
83 - file: galera_bootstrap_init_config
84
Ales Komarekb2824102015-04-30 15:43:17 +020085galera_bootstrap_finish_flag:
Ales Komarekcba48ac2015-04-30 11:40:44 +020086 file.touch:
Ales Komarek22a43f52015-04-30 16:03:27 +020087 - name: /root/.galera_bootstrap
Ales Komarekcba48ac2015-04-30 11:40:44 +020088 - require:
Ales Komarek41517c42015-04-30 15:58:19 +020089 - service: galera_bootstrap_start_service_final
Ales Komarekcba48ac2015-04-30 11:40:44 +020090 - watch_in:
Ales Komarek41517c42015-04-30 15:58:19 +020091 - file: galera_config
Ales Komarekcba48ac2015-04-30 11:40:44 +020092
93{%- endif %}
94
Ales Komarek41517c42015-04-30 15:58:19 +020095galera_config:
96 file.managed:
97 - name: {{ master.config }}
98 - source: salt://galera/files/my.cnf
99 - mode: 644
100 - template: jinja
101 - require_in:
102 - service: galera_service
103
Ales Komarekcba48ac2015-04-30 11:40:44 +0200104galera_service:
105 service.running:
106 - name: {{ master.service }}
107 - enable: true
108 - reload: true
109
Filip Pytloune40d54c2016-02-16 14:22:02 +0100110{%- endif %}