blob: b13775039940604d15762baadc6969160a742a74 [file] [log] [blame]
Ales Komarek67ef8062015-04-30 16:09:30 +02001{%- from "galera/map.jinja" import slave with context %}
2{%- if slave.enabled %}
3
Filip Pytlounda679652016-02-17 10:56:10 +01004{%- if grains.os_family == 'RedHat' %}
5xtrabackup_repo:
6 pkg.installed:
7 - sources:
Filip Pytlound20f7402016-02-17 11:01:00 +01008 - percona-release: {{ slave.xtrabackup_repo }}
Filip Pytlounda679652016-02-17 10:56:10 +01009 - require_in:
10 - pkg: galera_packages
Filip Pytloun05b3e6d2016-02-17 12:59:45 +010011
12# Workaround https://bugs.launchpad.net/percona-server/+bug/1490144
13xtrabackup_repo_fix:
14 cmd.run:
Filip Pytloun5a5324d2016-02-17 13:05:50 +010015 - name: |
16 sed -i 's,enabled\ =\ 1,enabled\ =\ 1\nexclude\ =\ Percona-XtraDB-\*\ Percona-Server-\*,g' /etc/yum.repos.d/percona-release.repo
Filip Pytloun05b3e6d2016-02-17 12:59:45 +010017 - unless: 'grep "exclude = Percona-XtraDB-\*" /etc/yum.repos.d/percona-release.repo'
18 - watch:
19 - pkg: xtrabackup_repo
20 - require_in:
21 - pkg: galera_packages
Filip Pytlounda679652016-02-17 10:56:10 +010022{%- endif %}
23
Ales Komarek67ef8062015-04-30 16:09:30 +020024galera_packages:
25 pkg.installed:
26 - names: {{ slave.pkgs }}
Filip Pytlound20f7402016-02-17 11:01:00 +010027 - refresh: true
Ales Komarek67ef8062015-04-30 16:09:30 +020028
29galera_log_dir:
30 file.directory:
31 - name: /var/log/mysql
32 - makedirs: true
33 - mode: 755
34 - require:
35 - pkg: galera_packages
36
37galera_init_script:
38 file.managed:
39 - name: /etc/init.d/mysql
40 - source: salt://galera/files/mysql
41 - mode: 755
42 - require:
43 - pkg: galera_packages
44
Ales Komarek651f9dd2015-04-30 16:41:19 +020045{%- if salt['cmd.run']('test -e /root/.galera_bootstrap; echo $?') != '0' %}
Ales Komarek67ef8062015-04-30 16:09:30 +020046
47galera_bootstrap_temp_config:
48 file.managed:
49 - name: {{ slave.config }}
50 - source: salt://galera/files/my.cnf.bootstrap
51 - mode: 644
52 - template: jinja
53 - require:
54 - pkg: galera_packages
55 - file: galera_init_script
56
57galera_bootstrap_start_service:
58 service.running:
Filip Pytloune40d54c2016-02-16 14:22:02 +010059 - name: {{ slave.service }}
Ales Komarek67ef8062015-04-30 16:09:30 +020060 - require:
61 - file: galera_bootstrap_temp_config
62
63galera_bootstrap_set_root_password:
64 cmd.run:
65 - name: mysqladmin password "{{ slave.admin.password }}"
66 - require:
67 - service: galera_bootstrap_start_service
68
69mysql_bootstrap_update_maint_password:
70 cmd.run:
71 - name: mysql -u root -p{{ slave.admin.password }} -e "GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '{{ slave.maintenance_password }}';"
72 - require:
73 - cmd: galera_bootstrap_set_root_password
74
75galera_bootstrap_stop_service:
76 service.dead:
77 - name: {{ slave.service }}
78 - require:
79 - cmd: mysql_bootstrap_update_maint_password
80
81galera_bootstrap_init_config:
82 file.managed:
83 - name: {{ slave.config }}
84 - source: salt://galera/files/my.cnf
85 - mode: 644
86 - template: jinja
87 - require:
88 - service: galera_bootstrap_stop_service
89
90galera_bootstrap_start_service_final:
Ales Komarek2ff54862015-04-30 16:31:48 +020091 cmd.script:
92 - name: slave_bootstrap
93 - source: salt://galera/files/slave_bootstrap.sh
Filip Pytloune40d54c2016-02-16 14:22:02 +010094 - template: jinja
Ales Komarek67ef8062015-04-30 16:09:30 +020095 - require:
96 - file: galera_bootstrap_init_config
97
98galera_bootstrap_finish_flag:
99 file.touch:
100 - name: /root/.galera_bootstrap
101 - require:
Ales Komarek2ff54862015-04-30 16:31:48 +0200102 - cmd: galera_bootstrap_start_service_final
Ales Komarek67ef8062015-04-30 16:09:30 +0200103 - watch_in:
104 - file: galera_config
105
106{%- endif %}
107
108galera_config:
109 file.managed:
110 - name: {{ slave.config }}
111 - source: salt://galera/files/my.cnf
112 - mode: 644
113 - template: jinja
114 - require_in:
115 - service: galera_service
116
117galera_service:
118 service.running:
119 - name: {{ slave.service }}
120 - enable: true
121 - reload: true
122
Filip Pytloune40d54c2016-02-16 14:22:02 +0100123{%- endif %}