From fc7cc65df2689c987f7d8d5a9cacd10ef1debfc5 Mon Sep 17 00:00:00 2001 From: Damian Dabrowski Date: Thu, 2 Dec 2021 19:20:38 +0100 Subject: [PATCH] Database connection pooling improvements - Implemented new variable ``connection_recycle_time`` responsible for SQLAlchemy's connection recycling - Set new default values for db pooling variables which are inherited from the global ones. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/819424 Change-Id: I6f71c588ccec56e37ec707fc7f9c29037fcd668f --- defaults/main.yml | 4 ++++ templates/mistral.conf.j2 | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/defaults/main.yml b/defaults/main.yml index 5c44920..c13a122 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -122,6 +122,10 @@ mistral_galera_user: mistral mistral_galera_use_ssl: "{{ galera_use_ssl | default(False) }}" mistral_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}" mistral_galera_port: "{{ galera_port | default('3306') }}" +mistral_db_max_overflow: "{{ openstack_db_max_overflow | default('50') }}" +mistral_db_max_pool_size: "{{ openstack_db_max_pool_size | default('5') }}" +mistral_db_pool_timeout: "{{ openstack_db_pool_timeout | default('30') }}" +mistral_db_connection_recycle_time: "{{ openstack_db_connection_recycle_time | default('600') }}" # Configuration options mistral_debug: "{{ debug | default(false) }}" diff --git a/templates/mistral.conf.j2 b/templates/mistral.conf.j2 index bbf6435..5f048d5 100644 --- a/templates/mistral.conf.j2 +++ b/templates/mistral.conf.j2 @@ -9,7 +9,11 @@ transport_url = {{ mistral_oslomsg_rpc_transport }}://{% for host in mistral_osl allow_action_execution_deletion = True [database] -connection = mysql+pymysql://{{ mistral_galera_user }}:{{ mistral_galera_password }}@{{ mistral_galera_address }}/{{ mistral_galera_database }}?charset=utf8{% if mistral_galera_use_ssl | bool %}&ssl_verify_cert=true{% if mistral_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ mistral_galera_ssl_ca_cert }}{% endif %}{% endif %} +connection = mysql+pymysql://{{ mistral_galera_user }}:{{ mistral_galera_password }}@{{ mistral_galera_address }}/{{ mistral_galera_database }}?charset=utf8{% if mistral_galera_use_ssl | bool %}&ssl_verify_cert=true{% if mistral_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ mistral_galera_ssl_ca_cert }}{% endif %}{% endif +%} +max_overflow = {{ mistral_db_max_overflow }} +max_pool_size = {{ mistral_db_max_pool_size }} +pool_timeout = {{ mistral_db_pool_timeout }} +connection_recycle_time = {{ mistral_db_connection_recycle_time }} [keystone_authtoken] auth_type = password