blob: 303e0008de2fc46e161cc45b9f6235ec52007129 [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:
8 - percona-xtrabackup: {{ master.xtrabackup_repo }}
9 - 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 }}
16
17galera_log_dir:
18 file.directory:
19 - name: /var/log/mysql
20 - makedirs: true
21 - mode: 755
22 - require:
23 - pkg: galera_packages
24
Ales Komarek90da78d2015-04-30 16:01:11 +020025galera_init_script:
26 file.managed:
27 - name: /etc/init.d/mysql
28 - source: salt://galera/files/mysql
29 - mode: 755
30 - require:
31 - pkg: galera_packages
32
Ales Komarekcf92b4e2015-04-30 16:52:21 +020033{%- if salt['cmd.run']('test -e /root/.galera_bootstrap; echo $?') != '0' %}
Ales Komarekcba48ac2015-04-30 11:40:44 +020034
35galera_bootstrap_temp_config:
36 file.managed:
37 - name: {{ master.config }}
Ales Komarek1fe9c702015-04-30 15:46:37 +020038 - source: salt://galera/files/my.cnf.bootstrap
Ales Komarekcba48ac2015-04-30 11:40:44 +020039 - mode: 644
40 - template: jinja
41 - require:
42 - pkg: galera_packages
Ales Komarek90da78d2015-04-30 16:01:11 +020043 - file: galera_init_script
Ales Komarekcba48ac2015-04-30 11:40:44 +020044
45galera_bootstrap_start_service:
46 service.running:
Filip Pytloune40d54c2016-02-16 14:22:02 +010047 - name: {{ master.service }}
Ales Komarekcba48ac2015-04-30 11:40:44 +020048 - require:
49 - file: galera_bootstrap_temp_config
50
51galera_bootstrap_set_root_password:
52 cmd.run:
53 - name: mysqladmin password "{{ master.admin.password }}"
54 - require:
55 - service: galera_bootstrap_start_service
56
57mysql_bootstrap_update_maint_password:
58 cmd.run:
59 - name: mysql -u root -p{{ master.admin.password }} -e "GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '{{ master.maintenance_password }}';"
60 - require:
61 - cmd: galera_bootstrap_set_root_password
62
Ales Komarek41517c42015-04-30 15:58:19 +020063galera_bootstrap_stop_service:
Ales Komarekcba48ac2015-04-30 11:40:44 +020064 service.dead:
Ales Komarek41517c42015-04-30 15:58:19 +020065 - name: {{ master.service }}
Ales Komarekcba48ac2015-04-30 11:40:44 +020066 - require:
67 - cmd: mysql_bootstrap_update_maint_password
68
69galera_bootstrap_init_config:
70 file.managed:
71 - name: {{ master.config }}
Ales Komarek41517c42015-04-30 15:58:19 +020072 - source: salt://galera/files/my.cnf.init
Ales Komarekcba48ac2015-04-30 11:40:44 +020073 - mode: 644
74 - template: jinja
75 - require:
76 - service: galera_bootstrap_stop_service
77
Ales Komarek41517c42015-04-30 15:58:19 +020078galera_bootstrap_start_service_final:
79 service.running:
80 - name: {{ master.service }}
81 - require:
82 - file: galera_bootstrap_init_config
83
Ales Komarekb2824102015-04-30 15:43:17 +020084galera_bootstrap_finish_flag:
Ales Komarekcba48ac2015-04-30 11:40:44 +020085 file.touch:
Ales Komarek22a43f52015-04-30 16:03:27 +020086 - name: /root/.galera_bootstrap
Ales Komarekcba48ac2015-04-30 11:40:44 +020087 - require:
Ales Komarek41517c42015-04-30 15:58:19 +020088 - service: galera_bootstrap_start_service_final
Ales Komarekcba48ac2015-04-30 11:40:44 +020089 - watch_in:
Ales Komarek41517c42015-04-30 15:58:19 +020090 - file: galera_config
Ales Komarekcba48ac2015-04-30 11:40:44 +020091
92{%- endif %}
93
Ales Komarek41517c42015-04-30 15:58:19 +020094galera_config:
95 file.managed:
96 - name: {{ master.config }}
97 - source: salt://galera/files/my.cnf
98 - mode: 644
99 - template: jinja
100 - require_in:
101 - service: galera_service
102
Ales Komarekcba48ac2015-04-30 11:40:44 +0200103galera_service:
104 service.running:
105 - name: {{ master.service }}
106 - enable: true
107 - reload: true
108
Filip Pytloune40d54c2016-02-16 14:22:02 +0100109{%- endif %}