d93c604d7a
Since we are now in the Train cycle, we can be sure that any running MariaDB containers can be safely stopped, and we do not need to perform an explicit shutdown prior to restarting them. Change-Id: I5450690f1cbe0c995e8e4b01a76e90dac2574d61 Related-Bug: #1820325
170 lines
4.8 KiB
YAML
170 lines
4.8 KiB
YAML
---
|
|
- name: Starting first MariaDB container
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
environment:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
BOOTSTRAP_ARGS: "--wsrep-new-cluster"
|
|
image: "{{ service.image }}"
|
|
labels:
|
|
BOOTSTRAP:
|
|
name: "{{ service.container_name }}"
|
|
restart_policy: "never"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- bootstrap_host is defined
|
|
- bootstrap_host == inventory_hostname
|
|
listen: Bootstrap MariaDB cluster
|
|
notify:
|
|
- restart mariadb
|
|
|
|
# TODO(jeffrey4l), remove the task check when the wait_for bug is fixed
|
|
# https://github.com/ansible/ansible-modules-core/issues/2788
|
|
- name: wait first mariadb container
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ mariadb_port }}"
|
|
connect_timeout: 1
|
|
timeout: 60
|
|
search_regex: "MariaDB"
|
|
register: check_mariadb_port
|
|
until: check_mariadb_port is success
|
|
retries: 10
|
|
delay: 6
|
|
when:
|
|
- bootstrap_host is defined
|
|
- bootstrap_host == inventory_hostname
|
|
listen: Bootstrap MariaDB cluster
|
|
|
|
- name: restart slave mariadb
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname != master_host
|
|
listen: restart mariadb
|
|
|
|
# TODO(jeffrey4l), remove the task check when the wait_for bug is fixed
|
|
# https://github.com/ansible/ansible-modules-core/issues/2788
|
|
- name: wait for slave mariadb
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ mariadb_port }}"
|
|
connect_timeout: 1
|
|
timeout: 60
|
|
search_regex: "MariaDB"
|
|
register: check_mariadb_port
|
|
until: check_mariadb_port is success
|
|
retries: 10
|
|
delay: 6
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname != master_host
|
|
listen: restart mariadb
|
|
|
|
- name: run upgrade on slave
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
detach: False
|
|
dimensions: "{{ service.dimensions }}"
|
|
environment:
|
|
KOLLA_UPGRADE:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
DB_HOST: "{{ api_interface_address }}"
|
|
DB_PORT: "{{ mariadb_port }}"
|
|
DB_ROOT_PASSWORD: "{{ database_password }}"
|
|
image: "{{ service.image }}"
|
|
labels:
|
|
UPGRADE:
|
|
name: "upgrade_mariadb"
|
|
restart_policy: "never"
|
|
volumes: "{{ service.volumes }}"
|
|
no_log: true
|
|
when:
|
|
- kolla_action == "upgrade"
|
|
- inventory_hostname != master_host
|
|
listen: restart mariadb
|
|
|
|
- name: restart master mariadb
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname == master_host
|
|
listen: restart mariadb
|
|
|
|
# TODO(jeffrey4l), remove the task check when the wait_for bug is fixed
|
|
# https://github.com/ansible/ansible-modules-core/issues/2788
|
|
- name: Waiting for master mariadb
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ mariadb_port }}"
|
|
connect_timeout: 1
|
|
timeout: 60
|
|
search_regex: "MariaDB"
|
|
register: check_mariadb_port
|
|
until: check_mariadb_port is success
|
|
retries: 10
|
|
delay: 6
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname == master_host
|
|
listen: restart mariadb
|
|
|
|
- name: run upgrade on master
|
|
vars:
|
|
service_name: "mariadb"
|
|
service: "{{ mariadb_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
detach: False
|
|
dimensions: "{{ service.dimensions }}"
|
|
environment:
|
|
KOLLA_UPGRADE:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
DB_HOST: "{{ api_interface_address }}"
|
|
DB_PORT: "{{ mariadb_port }}"
|
|
DB_ROOT_PASSWORD: "{{ database_password }}"
|
|
image: "{{ service.image }}"
|
|
labels:
|
|
UPGRADE:
|
|
name: "upgrade_mariadb"
|
|
restart_policy: "never"
|
|
volumes: "{{ service.volumes }}"
|
|
no_log: true
|
|
when:
|
|
- kolla_action == "upgrade"
|
|
- inventory_hostname == master_host
|
|
listen: restart mariadb
|