kolla-ansible/ansible/roles/mariadb/tasks/bootstrap.yml

72 lines
2.1 KiB
YAML

---
- name: Cleaning up temp file on localhost
local_action: file path=/tmp/kolla_mariadb_cluster state=absent
changed_when: False
always_run: True
run_once: True
- name: Creating temp file on localhost
local_action: copy content=None dest=/tmp/kolla_mariadb_cluster mode=0600
changed_when: False
always_run: True
run_once: True
- name: Creating mariadb volume
kolla_docker:
action: "create_volume"
common_options: "{{ docker_common_options }}"
name: "mariadb"
register: mariadb_volume
- name: Writing hostname of host with existing cluster files to temp file
local_action: copy content={{ ansible_hostname }} dest=/tmp/kolla_mariadb_cluster mode=0600
changed_when: False
always_run: True
when: not mariadb_volume | changed
- name: Registering host from temp file
set_fact:
delegate_host: "{{ lookup('file', '/tmp/kolla_mariadb_cluster') }}"
- name: Cleaning up temp file on localhost
local_action: file path=/tmp/kolla_mariadb_cluster state=absent
changed_when: False
always_run: True
run_once: True
- name: Starting MariaDB bootstrap container
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
environment:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
DB_ROOT_PASSWORD: "{{ database_password }}"
DB_MAX_TIMEOUT: "{{ database_max_timeout }}"
image: "{{ mariadb_image_full }}"
labels:
BOOTSTRAP:
name: "mariadb"
restart_policy: "never"
volumes:
- "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
- "mariadb:/var/lib/mysql"
- "kolla_logs:/var/log/kolla/"
when:
- delegate_host == 'None'
- inventory_hostname == groups['mariadb'][0]
- name: Waiting for MariaDB service to be ready
command: "docker exec mariadb ls /var/lib/mysql/{{ item }}"
register: bootstrap_result
when:
- delegate_host == 'None'
- inventory_hostname == groups['mariadb'][0]
until: bootstrap_result | success
changed_when: False
retries: 6
delay: 10
with_items:
- cluster.exists
- mariadb.pid