Use Docker healthchecks for mariadb-server service

This change enables the use of Docker healthchecks for
mariadb-server service.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/805613
Change-Id: I893687a0501ea0f281b879df3141a354bff9eca6
This commit is contained in:
Michal Arbet 2021-08-23 13:31:26 +02:00 committed by Radosław Piliszek
parent 7c36bbfa00
commit 63d72ea7e8
5 changed files with 31 additions and 0 deletions

View File

@ -7,6 +7,12 @@ mariadb_services:
image: "{{ mariadb_image_full }}"
volumes: "{{ mariadb_default_volumes + mariadb_extra_volumes }}"
dimensions: "{{ mariadb_dimensions }}"
healthcheck: "{{ mariadb_healthcheck }}"
environment:
MYSQL_USERNAME: "{{ mariadb_monitor_user }}"
MYSQL_PASSWORD: "{% if enable_proxysql | bool %}{{ mariadb_monitor_password }}{% endif %}"
MYSQL_HOST: "{{ api_interface_address }}"
AVAILABLE_WHEN_DONOR: "1"
haproxy:
mariadb:
enabled: "{{ enable_mariadb | bool and not enable_external_mariadb_load_balancer | bool }}"
@ -87,6 +93,19 @@ mariadb_clustercheck_default_volumes:
mariadb_extra_volumes: "{{ default_extra_volumes }}"
mariadb_clustercheck_extra_volumes: "{{ default_extra_volumes }}"
mariadb_enable_healthchecks: "{{ enable_container_healthchecks }}"
mariadb_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
mariadb_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
mariadb_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
mariadb_healthcheck_test: ["CMD-SHELL", "/usr/bin/clustercheck"]
mariadb_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
mariadb_healthcheck:
interval: "{{ mariadb_healthcheck_interval }}"
retries: "{{ mariadb_healthcheck_retries }}"
start_period: "{{ mariadb_healthcheck_start_period }}"
test: "{% if mariadb_enable_healthchecks | bool %}{{ mariadb_healthcheck_test }}{% else %}NONE{% endif %}"
timeout: "{{ mariadb_healthcheck_timeout }}"
########################################
# Vars used within recover_cluster.yml
########################################

View File

@ -8,6 +8,8 @@
image: "{{ item.value.image }}"
volumes: "{{ item.value.volumes }}"
dimensions: "{{ item.value.dimensions }}"
environment: "{{ item.value.environment | default(omit) }}"
healthcheck: "{{ item.value.healthcheck | default(omit) }}"
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool

View File

@ -175,6 +175,7 @@
volumes: "{{ item.value.volumes }}"
dimensions: "{{ item.value.dimensions }}"
environment: "{{ item.value.environment | default({}) }}"
healthcheck: "{{ item.value.healthcheck | default(omit) }}"
with_dict: "{{ mariadb_services }}"
when:
- bootstrap_host is defined
@ -205,6 +206,7 @@
volumes: "{{ item.value.volumes }}"
dimensions: "{{ item.value.dimensions }}"
environment: "{{ item.value.environment | default({}) }}"
healthcheck: "{{ item.value.healthcheck | default(omit) }}"
with_dict: "{{ mariadb_services }}"
when:
- bootstrap_host is defined

View File

@ -11,6 +11,8 @@
image: "{{ service.image }}"
volumes: "{{ service.volumes }}"
dimensions: "{{ service.dimensions }}"
environment: "{{ service.environment | default(omit) }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
# NOTE(yoctozepto): We have to loop this to avoid breaking on connection resets
- name: Wait for MariaDB service port liveness

View File

@ -0,0 +1,6 @@
---
features:
- |
Implements container healthchecks for mariadb-server service.
See `blueprint
<https://blueprints.launchpad.net/kolla-ansible/+spec/container-health-check>`__