aboutsummaryrefslogtreecommitdiff
path: root/ansible
diff options
context:
space:
mode:
authorSamYaple <sam@yaple.net>2016-03-19 13:58:19 +0000
committerSam Yaple <sam@yaple.net>2016-03-21 12:23:00 +0000
commitafce10dea418dcf691e8f4539f5fb7dc766235a3 (patch)
tree992267417b513d2940d9b4b9a404dcf4c1c15410 /ansible
parent05b6995f6340099bc531561f61fb85a1795f5f0d (diff)
downloadkolla-afce10dea418dcf691e8f4539f5fb7dc766235a3.tar.gz
kolla-afce10dea418dcf691e8f4539f5fb7dc766235a3.zip
Fix mysql bootstrap
The lightsout recover patch broke multinode mysql. Also the lightsout recovery didnt probably pass the --wsrep-new-cluster flag. This updates the mariadb bootstrap to work with multinode again. Closes-Bug: #1559480 Related-Id: I903c3bcd069af39814bcabcef37684b1f043391f Change-Id: I1ec91a8b2144930ea8f04cc1c201b53712352e4e
Diffstat (limited to 'ansible')
-rw-r--r--ansible/roles/mariadb/tasks/bootstrap_cluster.yml32
-rw-r--r--ansible/roles/mariadb/tasks/recover_cluster.yml2
-rw-r--r--ansible/roles/mariadb/templates/galera.cnf.j22
3 files changed, 21 insertions, 15 deletions
diff --git a/ansible/roles/mariadb/tasks/bootstrap_cluster.yml b/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
index 6c3c8537f..1c9aab453 100644
--- a/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
+++ b/ansible/roles/mariadb/tasks/bootstrap_cluster.yml
@@ -1,31 +1,37 @@
---
-- name: Starting MariaDB bootstrap container
+- name: Running MariaDB bootstrap container
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
+ detach: False
environment:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
DB_ROOT_PASSWORD: "{{ database_password }}"
DB_MAX_TIMEOUT: "{{ database_max_timeout }}"
- ARGS: "--wsrep-new-cluster"
image: "{{ mariadb_image_full }}"
labels:
BOOTSTRAP:
- name: "mariadb"
+ name: "bootstrap_mariadb"
restart_policy: "never"
volumes:
- "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
- "kolla_logs:/var/log/kolla/"
- "mariadb:/var/lib/mysql"
-- name: Waiting for MariaDB service to be ready
- command: "docker exec mariadb ls /var/lib/mysql/{{ item }}"
- register: bootstrap_result
- until: bootstrap_result | success
- changed_when: False
- retries: 6
- delay: 10
- with_items:
- - cluster.exists
- - mariadb.pid
+- name: Starting first MariaDB container
+ kolla_docker:
+ action: "start_container"
+ common_options: "{{ docker_common_options }}"
+ environment:
+ KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+ BOOTSTRAP_ARGS: "--wsrep-new-cluster"
+ image: "{{ mariadb_image_full }}"
+ labels:
+ BOOTSTRAP:
+ name: "mariadb"
+ restart_policy: "never"
+ volumes:
+ - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
+ - "kolla_logs:/var/log/kolla/"
+ - "mariadb:/var/lib/mysql"
diff --git a/ansible/roles/mariadb/tasks/recover_cluster.yml b/ansible/roles/mariadb/tasks/recover_cluster.yml
index 2a19c11ac..6c2fccb72 100644
--- a/ansible/roles/mariadb/tasks/recover_cluster.yml
+++ b/ansible/roles/mariadb/tasks/recover_cluster.yml
@@ -20,7 +20,7 @@
common_options: "{{ docker_common_options }}"
environment:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
- ARGS: "--wsrep-new-cluster"
+ BOOTSTRAP_ARGS: "--wsrep-new-cluster"
image: "{{ mariadb_image_full }}"
labels:
BOOTSTRAP:
diff --git a/ansible/roles/mariadb/templates/galera.cnf.j2 b/ansible/roles/mariadb/templates/galera.cnf.j2
index 095652d84..a4210fa9c 100644
--- a/ansible/roles/mariadb/templates/galera.cnf.j2
+++ b/ansible/roles/mariadb/templates/galera.cnf.j2
@@ -13,7 +13,7 @@ datadir=/var/lib/mysql/
wsrep_cluster_address=gcomm://{% if (groups['mariadb'] | length) > 1 %}{% for host in groups['mariadb'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mariadb_wsrep_port }}{% if not loop.last %},{% endif %}{% endfor %}{% endif %}
-wsrep_provider_options="gmcast.listen_addr=tcp://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }};ist.recv_addr={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_ist_port }}"
+wsrep_provider_options=gmcast.listen_addr=tcp://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }};ist.recv_addr={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_ist_port }}
wsrep_node_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }}
wsrep_sst_receive_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_sst_port }}