blob: fa560918eedca568f15d180ea6fd3c4d6a373357 [file] [log] [blame]
Ales Komarek67ef8062015-04-30 16:09:30 +02001{%- from "galera/map.jinja" import slave with context %}
2{%- if slave.enabled %}
3
4galera_packages:
5 pkg.installed:
6 - names: {{ slave.pkgs }}
7
8galera_log_dir:
9 file.directory:
10 - name: /var/log/mysql
11 - makedirs: true
12 - mode: 755
13 - require:
14 - pkg: galera_packages
15
16galera_init_script:
17 file.managed:
18 - name: /etc/init.d/mysql
19 - source: salt://galera/files/mysql
20 - mode: 755
21 - require:
22 - pkg: galera_packages
23
Ales Komarek651f9dd2015-04-30 16:41:19 +020024{%- if salt['cmd.run']('test -e /root/.galera_bootstrap; echo $?') != '0' %}
Ales Komarek67ef8062015-04-30 16:09:30 +020025
26galera_bootstrap_temp_config:
27 file.managed:
28 - name: {{ slave.config }}
29 - source: salt://galera/files/my.cnf.bootstrap
30 - mode: 644
31 - template: jinja
32 - require:
33 - pkg: galera_packages
34 - file: galera_init_script
35
36galera_bootstrap_start_service:
37 service.running:
Filip Pytloune40d54c2016-02-16 14:22:02 +010038 - name: {{ slave.service }}
Ales Komarek67ef8062015-04-30 16:09:30 +020039 - require:
40 - file: galera_bootstrap_temp_config
41
42galera_bootstrap_set_root_password:
43 cmd.run:
44 - name: mysqladmin password "{{ slave.admin.password }}"
45 - require:
46 - service: galera_bootstrap_start_service
47
48mysql_bootstrap_update_maint_password:
49 cmd.run:
50 - name: mysql -u root -p{{ slave.admin.password }} -e "GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '{{ slave.maintenance_password }}';"
51 - require:
52 - cmd: galera_bootstrap_set_root_password
53
54galera_bootstrap_stop_service:
55 service.dead:
56 - name: {{ slave.service }}
57 - require:
58 - cmd: mysql_bootstrap_update_maint_password
59
60galera_bootstrap_init_config:
61 file.managed:
62 - name: {{ slave.config }}
63 - source: salt://galera/files/my.cnf
64 - mode: 644
65 - template: jinja
66 - require:
67 - service: galera_bootstrap_stop_service
68
69galera_bootstrap_start_service_final:
Ales Komarek2ff54862015-04-30 16:31:48 +020070 cmd.script:
71 - name: slave_bootstrap
72 - source: salt://galera/files/slave_bootstrap.sh
Filip Pytloune40d54c2016-02-16 14:22:02 +010073 - template: jinja
Ales Komarek67ef8062015-04-30 16:09:30 +020074 - require:
75 - file: galera_bootstrap_init_config
76
77galera_bootstrap_finish_flag:
78 file.touch:
79 - name: /root/.galera_bootstrap
80 - require:
Ales Komarek2ff54862015-04-30 16:31:48 +020081 - cmd: galera_bootstrap_start_service_final
Ales Komarek67ef8062015-04-30 16:09:30 +020082 - watch_in:
83 - file: galera_config
84
85{%- endif %}
86
87galera_config:
88 file.managed:
89 - name: {{ slave.config }}
90 - source: salt://galera/files/my.cnf
91 - mode: 644
92 - template: jinja
93 - require_in:
94 - service: galera_service
95
96galera_service:
97 service.running:
98 - name: {{ slave.service }}
99 - enable: true
100 - reload: true
101
Filip Pytloune40d54c2016-02-16 14:22:02 +0100102{%- endif %}