-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup-mariadb-galera.yml
126 lines (113 loc) · 5.26 KB
/
setup-mariadb-galera.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
## RUN THIS PLAYBOOK WITH
## > ansible-playbook setup-mariadb-galera.yml
---
# JUST GATHERING FACTS
- hosts: cluster_control,frontend_db1,backend_db1,backend_db2
become: true
- hosts: cluster_control,frontend_db1,backend_db1,backend_db2
roles:
- gkansible.gkservercollection.basic_packages
# MAKE SURE python3-mysqldb IS INSTALLED OR CLUSTERCONTROL FAILS TO INSTALL
- hosts: cluster_control
become: yes
tasks:
- name: "Install python3-mysqldb"
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- python3-mysqldb
- hosts: cluster_control
become: yes
roles:
- role: gkansible.gkservercollection.severalnines_clustercontrol
vars:
runtag: "controller"
vaultsettings: "{{ lookup('hashi_vault', 'secret=secret/lasair/settings', errors='warn') | default('undefined', true) }}"
localsettings: "{{ lookup('template', 'localsettings.yml', errors='warn')|from_yaml | default('undefined', true) }}"
settings: "{% if vaultsettings == 'undefined' %}{{ localsettings }}{% else %}{{ vaultsettings }}{% endif %}"
mysql_root_password: "{{ settings.master_db_root_password }}"
cmon_mysql_password: "{{ settings.master_db_root_password }}"
cc_admin:
- set: true
email: "[email protected]"
password: "{{ settings.master_db_root_password }}"
cc_license:
- set: false
# 2022-02-28 KWS Added the following lines to force trigger the passwordless setup
- hosts: backend_db1,backend_db2,frontend_db1
become: true
roles:
- { role: gkansible.gkservercollection.severalnines_clustercontrol, tags: dbnodes }
vars:
runtag: "dbnodes"
clustercontrol_ip_address: "{{ hostvars[groups['cluster_control'][0]]['ansible_all_ipv4_addresses'][0] }}"
remote_login_user: "root"
remote_login_user_home: "/root"
ssh_keyfile: "{{ remote_login_user_home }}/.ssh/id_rsa"
ssh_user: "{{ remote_login_user }}"
- hosts: cluster_control
become: yes
become_user: root
roles:
- role: gkansible.gkservercollection.severalnines_clustercontrol
tags: "deploy-database"
vars:
runtag: "deploy-database"
vaultsettings: "{{ lookup('hashi_vault', 'secret=secret/lasair/settings', errors='warn') | default('undefined', true) }}"
localsettings: "{{ lookup('template', 'localsettings.yml', errors='warn')|from_yaml | default('undefined', true) }}"
settings: "{% if vaultsettings == 'undefined' %}{{ localsettings }}{% else %}{{ vaultsettings }}{% endif %}"
mysql_root_password: "{{ settings.master_db_root_password }}"
remote_login_user: "root"
remote_login_user_home: "/root"
# 2022-02-23 KWS Added clustercontrol_ip_address
clustercontrol_ip_address: "{{ hostvars[groups['cluster_control'][0]]['ansible_all_ipv4_addresses'][0] }}"
cc_cluster:
# minimal create new galera
- deployment: true
operation: "create"
cluster_type: "galera"
cluster_name: "galera_cluster"
mysql_cnf_template: "my.cnf.mdb10x-galera"
mysql_datadir: "/var/lib/mysql"
mysql_root_password: "{{ settings.master_db_root_password }}"
mysql_hostnames:
- "{{ hostvars[groups['backend_db1'][0]]['ansible_all_ipv4_addresses'][0] }}"
- "{{ hostvars[groups['backend_db2'][0]]['ansible_all_ipv4_addresses'][0] }}"
- "{{ hostvars[groups['frontend_db1'][0]]['ansible_all_ipv4_addresses'][0] }}"
mysql_password: "{{ settings.master_db_root_password }}"
cmon_mysql_password: "{{ settings.master_db_root_password }}"
mysql_port: 3306
mysql_version: "10.11"
ssh_keyfile: "{{ remote_login_user_home }}/.ssh/id_rsa"
ssh_user: "{{ remote_login_user }}"
sudo_password: ""
vendor: "mariadb"
nodes:
- hostname: "{{ hostvars[groups['backend_db1'][0]]['ansible_all_ipv4_addresses'][0] }}"
hostname_data: "{{ hostvars[groups['backend_db1'][0]]['ansible_all_ipv4_addresses'][0] }}"
hostname_internal: ""
port: "3306"
- hostname: "{{ hostvars[groups['backend_db2'][0]]['ansible_all_ipv4_addresses'][0] }}"
hostname_data: "{{ hostvars[groups['backend_db2'][0]]['ansible_all_ipv4_addresses'][0] }}"
hostname_internal: ""
port: "3306"
- hostname: "{{ hostvars[groups['frontend_db1'][0]]['ansible_all_ipv4_addresses'][0] }}"
hostname_data: "{{ hostvars[groups['frontend_db1'][0]]['ansible_all_ipv4_addresses'][0] }}"
hostname_internal: ""
port: "3306"
- hosts: backend_db1,backend_db2,frontend_db1
become: true
become_user: root
# 2022-02-14 KWS Added the following role so we can refer to the template implicitly instead of
# using an absolute path.
vars:
runtag: "credential-templates"
vaultsettings: "{{ lookup('hashi_vault', 'secret=secret/lasair/settings', errors='warn') | default('undefined', true) }}"
localsettings: "{{ lookup('template', 'localsettings.yml', errors='warn')|from_yaml | default('undefined', true) }}"
settings: "{% if vaultsettings == 'undefined' %}{{ localsettings }}{% else %}{{ vaultsettings }}{% endif %}"
mysql_root_username: root
mysql_root_password: "{{ settings.master_db_root_password }}"
roles:
- gkansible.gkservercollection.severalnines_clustercontrol