From 1fbb299dbd62ace105784b70522f7b750a273456 Mon Sep 17 00:00:00 2001
From: Michal Nasiadka <mnasiadka@gmail.com>
Date: Fri, 13 Dec 2024 11:20:38 +0100
Subject: [PATCH] proxysql: Add mariadb_monitor_read_only_interval

It's needed to be configured on environments like our CI, because of low
cpu/network resources proxysql marks healthy nodes as OFFLINE_HARD

Change-Id: I6d1e9e77abc48d82ffd6ade33997c83bb601b0eb
---
 ansible/roles/loadbalancer/defaults/main.yml                 | 5 +++++
 .../roles/loadbalancer/templates/proxysql/proxysql.yaml.j2   | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/ansible/roles/loadbalancer/defaults/main.yml b/ansible/roles/loadbalancer/defaults/main.yml
index c081a1d033..651e93810d 100644
--- a/ansible/roles/loadbalancer/defaults/main.yml
+++ b/ansible/roles/loadbalancer/defaults/main.yml
@@ -201,3 +201,8 @@ haproxy_external_single_frontend_options:
 
 haproxy_glance_api_client_timeout: "6h"
 loadbalancer_copy_certs: "{{ kolla_copy_ca_into_containers | bool or kolla_enable_tls_external | bool or kolla_enable_tls_internal | bool or kolla_enable_tls_backend | bool or database_enable_tls_internal | bool or database_enable_tls_backend | bool }}"
+
+################
+# ProxySQL
+################
+mariadb_monitor_read_only_interval: ""
diff --git a/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2 b/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2
index 28d3fbb7d7..cd3403f35f 100644
--- a/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2
+++ b/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2
@@ -32,6 +32,9 @@ mysql_variables:
    monitor_ping_interval: "{{ mariadb_monitor_ping_interval }}"
    monitor_ping_timeout: "{{ mariadb_monitor_ping_timeout }}"
    monitor_ping_max_failures: "{{ mariadb_monitor_ping_max_failures }}"
+{% if mariadb_monitor_read_only_interval | length > 0 %}
+   monitor_read_only_interval: {{ mariadb_monitor_read_only_interval }}
+{% endif %}
    monitor_connect_timeout: 6000
    connect_timeout_client: 100000
    connect_timeout_server: 30000