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
This commit is contained in:
parent
41e634e204
commit
03cd7eb356
@ -190,3 +190,5 @@
|
||||
when:
|
||||
- bootstrap_host is defined
|
||||
- bootstrap_host != inventory_hostname
|
||||
|
||||
- import_tasks: wait_for_loadbalancer.yml
|
||||
|
@ -13,6 +13,8 @@
|
||||
priv: "*.*:USAGE"
|
||||
run_once: True
|
||||
|
||||
- import_tasks: wait_for_loadbalancer.yml
|
||||
|
||||
- name: Creating the Percona XtraBackup database
|
||||
kolla_toolbox:
|
||||
module_name: mysql_db
|
||||
|
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