Merge "proxysql: Revert to upstream defaults for most settings"
This commit is contained in:
commit
cab7c06cb8
ansible
releasenotes/notes
tests/templates
@ -529,27 +529,6 @@ mariadb_clustercheck_port: "4569"
|
||||
mariadb_enable_tls_backend: "{{ database_enable_tls_backend }}"
|
||||
|
||||
mariadb_monitor_user: "{{ 'monitor' if enable_proxysql | bool else 'haproxy' }}"
|
||||
mariadb_monitor_connect_interval: "2000"
|
||||
mariadb_monitor_galera_healthcheck_interval: "4000"
|
||||
mariadb_monitor_galera_healthcheck_timeout: "1000"
|
||||
mariadb_monitor_galera_healthcheck_max_timeout_count: "2"
|
||||
mariadb_monitor_ping_interval: "3000"
|
||||
mariadb_monitor_ping_timeout: "2000"
|
||||
mariadb_monitor_ping_max_failures: "2"
|
||||
#
|
||||
# Defaults preserved for multinode setup
|
||||
# Tweaked for single-node
|
||||
#
|
||||
# ProxySQL shuns servers on MySQL errors, which can cause failures
|
||||
# during upgrades or restarts. In single-node setups, ProxySQL can't reroute
|
||||
# traffic, leading to "Max connect timeout" errors. To avoid this in CI and
|
||||
# signle-node environments, delay error responses to clients by 10 seconds,
|
||||
# giving the backend time to recover without immediate failures.
|
||||
#
|
||||
# See ProxySQL docs for more: https://proxysql.com/documentation/global-variables/mysql-variables/#mysql-shun_on_failures
|
||||
mariadb_shun_on_failures: "{{ '10' if mariadb_shards_info.shards.values() | map(attribute='hosts') | map('length') | select('<=', 1) | list | length > 0 else '5' }}"
|
||||
mariadb_connect_retries_delay: "{{ '1000' if mariadb_shards_info.shards.values() | map(attribute='hosts') | map('length') | select('<=', 1) | list | length > 0 else '1' }}"
|
||||
mariadb_connect_retries_on_failure: "{{ '20' if mariadb_shards_info.shards.values() | map(attribute='hosts') | map('length') | select('<=', 1) | list | length > 0 else '10' }}"
|
||||
|
||||
mariadb_datadir_volume: "mariadb"
|
||||
|
||||
|
@ -205,4 +205,31 @@ loadbalancer_copy_certs: "{{ kolla_copy_ca_into_containers | bool or kolla_enabl
|
||||
################
|
||||
# ProxySQL
|
||||
################
|
||||
mariadb_connect_timeout_client: ""
|
||||
mariadb_connect_timeout_server: ""
|
||||
mariadb_connect_timeout_server_max: ""
|
||||
# ProxySQL default is two minutes, which is most probably too much.
|
||||
mariadb_monitor_connect_interval: "2000"
|
||||
mariadb_monitor_connect_timeout: ""
|
||||
mariadb_monitor_galera_healthcheck_interval: ""
|
||||
mariadb_monitor_galera_healthcheck_timeout: ""
|
||||
mariadb_monitor_galera_healthcheck_max_timeout_count: ""
|
||||
mariadb_monitor_ping_interval: ""
|
||||
mariadb_monitor_ping_timeout: ""
|
||||
mariadb_monitor_ping_max_failures: ""
|
||||
mariadb_monitor_read_only_interval: ""
|
||||
#
|
||||
# Defaults preserved for multinode setup
|
||||
# Tweaked for single-node
|
||||
#
|
||||
# ProxySQL shuns servers on MySQL errors, which can cause failures
|
||||
# during upgrades or restarts. In single-node setups, ProxySQL can't reroute
|
||||
# traffic, leading to "Max connect timeout" errors. To avoid this in CI and
|
||||
# signle-node environments, delay error responses to clients by 10 seconds,
|
||||
# giving the backend time to recover without immediate failures.
|
||||
#
|
||||
# See ProxySQL docs for more: https://proxysql.com/documentation/global-variables/mysql-variables/#mysql-shun_on_failures
|
||||
mariadb_singlenode: "{{ mariadb_shards_info.shards.values() | map(attribute='hosts') | map('length') | select('<=', 1) | list | length > 0 }}"
|
||||
mariadb_shun_on_failures: "{{ '10' if mariadb_singlenode else '' }}"
|
||||
mariadb_connect_retries_delay: "{{ '1000' if mariadb_singlenode else '' }}"
|
||||
mariadb_connect_retries_on_failure: "{{ '20' if mariadb_singlenode else '' }}"
|
||||
|
@ -20,25 +20,53 @@ mysql_variables:
|
||||
threads: {{ proxysql_workers }}
|
||||
max_connections: {{ proxysql_max_connections }}
|
||||
interfaces: "{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ database_port }}"
|
||||
connect_retries_delay: "{{ mariadb_connect_retries_delay }}"
|
||||
connect_retries_on_failure: "{{ mariadb_connect_retries_on_failure }}"
|
||||
shun_on_failures: "{{ mariadb_shun_on_failures }}"
|
||||
monitor_username: "{{ mariadb_monitor_user }}"
|
||||
monitor_password: "{{ mariadb_monitor_password }}"
|
||||
monitor_connect_interval: "{{ mariadb_monitor_connect_interval }}"
|
||||
{% if mariadb_connect_retries_delay | length > 0 %}
|
||||
connect_retries_delay: {{ mariadb_connect_retries_delay }}
|
||||
{% endif %}
|
||||
{% if mariadb_connect_retries_on_failure | length > 0 %}
|
||||
connect_retries_on_failure: {{ mariadb_connect_retries_on_failure }}
|
||||
{% endif %}
|
||||
{% if mariadb_connect_timeout_client | length > 0 %}
|
||||
connect_timeout_client: {{ mariadb_connect_timeout_client }}
|
||||
{% endif %}
|
||||
{% if mariadb_connect_timeout_server | length > 0 %}
|
||||
connect_timeout_server: {{ mariadb_connect_timeout_server }}
|
||||
{% endif %}
|
||||
{% if mariadb_connect_timeout_server_max | length > 0 %}
|
||||
connect_timeout_server_max: {{ mariadb_connect_timeout_server_max }}
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_connect_interval | length > 0 %}
|
||||
monitor_connect_interval: {{ mariadb_monitor_connect_interval }}
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_connect_timeout | length > 0 %}
|
||||
monitor_connect_timeout: {{ mariadb_monitor_connect_timeout }}
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_galera_healthcheck_interval | length > 0 %}
|
||||
monitor_galera_healthcheck_interval: "{{ mariadb_monitor_galera_healthcheck_interval }}"
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_galera_healthcheck_timeout | length > 0 %}
|
||||
monitor_galera_healthcheck_timeout: "{{ mariadb_monitor_galera_healthcheck_timeout }}"
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_galera_healthcheck_max_timeout_count | length > 0 %}
|
||||
monitor_galera_healthcheck_max_timeout_count: "{{ mariadb_monitor_galera_healthcheck_max_timeout_count }}"
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_ping_interval | length > 0 %}
|
||||
monitor_ping_interval: "{{ mariadb_monitor_ping_interval }}"
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_ping_timeout | length > 0 %}
|
||||
monitor_ping_timeout: "{{ mariadb_monitor_ping_timeout }}"
|
||||
{% endif %}
|
||||
{% if mariadb_monitor_ping_max_failures | length > 0 %}
|
||||
monitor_ping_max_failures: "{{ mariadb_monitor_ping_max_failures }}"
|
||||
{% endif %}
|
||||
{% 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
|
||||
connect_timeout_server_max: 100000
|
||||
monitor_username: "{{ mariadb_monitor_user }}"
|
||||
monitor_password: "{{ mariadb_monitor_password }}"
|
||||
{% if mariadb_shun_on_failures | length > 0 %}
|
||||
shun_on_failures: {{ mariadb_shun_on_failures }}
|
||||
{% endif %}
|
||||
{% if database_enable_tls_backend | bool %}
|
||||
ssl_p2s_ca: "/etc/proxysql/certs/root.crt"
|
||||
ssl_p2s_cert: "/etc/proxysql/certs/mariadb-cert.pem"
|
||||
|
@ -0,0 +1,53 @@
|
||||
---
|
||||
upgrade:
|
||||
- |
|
||||
The following ``proxysql`` variables have been reverted to upstream
|
||||
defaults (unless overridden using Ansible variables).
|
||||
In case of ``shun_on_failures``, ``connect_retries_delay`` and
|
||||
``connect_retries_on_failure`` we still have own defaults for all-in-one
|
||||
deployments - but rely on upstream on multinode ones.
|
||||
|
||||
.. list-table::
|
||||
|
||||
* - Variable name
|
||||
- Kolla-Ansible default
|
||||
- ProxySQL (upstream) default
|
||||
* - connect_retries_delay
|
||||
- 1000 (aio) / 1
|
||||
- 1
|
||||
* - connect_retries_on_failure
|
||||
- 20 (aio) / 10
|
||||
- 10
|
||||
* - connect_timeout_client
|
||||
- 100000
|
||||
- 10000
|
||||
* - connect_timeout_server
|
||||
- 30000
|
||||
- 1000
|
||||
* - connect_timeout_server_max
|
||||
- 100000
|
||||
- 10000
|
||||
* - monitor_connect_timeout
|
||||
- 6000
|
||||
- 1000
|
||||
* - monitor_galera_healthcheck_interval
|
||||
- 4000
|
||||
- 5000
|
||||
* - monitor_galera_healthcheck_max_timeout_count
|
||||
- 2
|
||||
- 3
|
||||
* - monitor_galera_healthcheck_timeout
|
||||
- 1000
|
||||
- 800
|
||||
* - monitor_ping_interval
|
||||
- 3000
|
||||
- 8000
|
||||
* - monitor_ping_timeout
|
||||
- 2000
|
||||
- 1000
|
||||
* - monitor_ping_max_failures
|
||||
- 2
|
||||
- 3
|
||||
* - shun_on_failures
|
||||
- 10 (aio) / 5
|
||||
- 5
|
@ -45,6 +45,8 @@ mariadb_wsrep_extra_provider_options:
|
||||
- "evs.inactive_timeout=PT30S"
|
||||
- "evs.keepalive_period=PT3S"
|
||||
|
||||
mariadb_monitor_connect_timeout: "6000"
|
||||
|
||||
nova_compute_virt_type: "{{ virt_type }}"
|
||||
|
||||
enable_openstack_core: "{{ openstack_core_enabled }}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user