Wait for MariaDB to be accessible via HAProxy
Explicitly wait for the database to be accessible via the load balancer.
Sometimes it can reject connections even when all database services are up,
possibly due to the health check polling in HAProxy.
Closes-Bug: #1840145
Change-Id: I7601bb710097a78f6b29bc4018c71f2c6283eef2
(cherry picked from commit 03cd7eb356
)
This commit is contained in:
parent
f0f590abb5
commit
0d03d2e28f
@ -227,3 +227,5 @@
|
||||
when:
|
||||
- bootstrap_host is defined
|
||||
- bootstrap_host != inventory_hostname
|
||||
|
||||
- import_tasks: wait_for_loadbalancer.yml
|
||||
|
@ -14,6 +14,8 @@
|
||||
priv: "*.*:USAGE"
|
||||
run_once: True
|
||||
|
||||
- import_tasks: wait_for_loadbalancer.yml
|
||||
|
||||
- name: Creating the Mariabackup database
|
||||
become: true
|
||||
kolla_toolbox:
|
||||
|
16
ansible/roles/mariadb/tasks/wait_for_loadbalancer.yml
Normal file
16
ansible/roles/mariadb/tasks/wait_for_loadbalancer.yml
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
# Explicitly wait for the database to be accessible via the load balancer.
|
||||
# Sometimes it can reject connections even when all database services are up,
|
||||
# due to the health check polling in HAProxy.
|
||||
- name: wait for MariaDB to be available via HAProxy
|
||||
wait_for:
|
||||
host: "{{ database_address }}"
|
||||
port: "{{ database_port }}"
|
||||
connect_timeout: 1
|
||||
timeout: 60
|
||||
search_regex: "MariaDB"
|
||||
register: check_mariadb_port
|
||||
until: check_mariadb_port is success
|
||||
retries: 10
|
||||
delay: 6
|
||||
run_once: True
|
Loading…
Reference in New Issue
Block a user