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: I1745cd91c26bb873a5eac0fa42f651d2ebe7e974
This commit is contained in:
Damian Dabrowski 2021-12-02 19:21:09 +01:00
parent 54a6645c5a
commit 4814dcb140
2 changed files with 9 additions and 2 deletions

View File

@ -97,6 +97,10 @@ sahara_galera_user: sahara
sahara_galera_use_ssl: "{{ galera_use_ssl | default(False) }}"
sahara_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}"
sahara_galera_port: "{{ galera_port | default('3306') }}"
sahara_db_max_overflow: "{{ openstack_db_max_overflow | default('50') }}"
sahara_db_max_pool_size: "{{ openstack_db_max_pool_size | default('5') }}"
sahara_db_pool_timeout: "{{ openstack_db_pool_timeout | default('30') }}"
sahara_db_connection_recycle_time: "{{ openstack_db_connection_recycle_time | default('600') }}"
sahara_role_name: admin
sahara_api_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}"

View File

@ -27,8 +27,11 @@ proxy_user_role_names = {{ sahara_proxy_user_role_names }}
transport_url = {{ sahara_oslomsg_rpc_transport }}://{% for host in sahara_oslomsg_rpc_servers.split(',') %}{{ sahara_oslomsg_rpc_userid }}:{{ sahara_oslomsg_rpc_password }}@{{ host }}:{{ sahara_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ sahara_oslomsg_rpc_vhost }}{% if sahara_oslomsg_rpc_use_ssl | bool %}?ssl=1&ssl_version={{ sahara_oslomsg_rpc_ssl_version }}&ssl_ca_file={{ sahara_oslomsg_rpc_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
[database]
connection = mysql+pymysql://{{ sahara_galera_user }}:{{ sahara_container_mysql_password }}@{{ sahara_galera_address }}/{{ sahara_galera_database }}?charset=utf8{% if sahara_galera_use_ssl | bool %}&ssl_verify_cert=true{% if sahara_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ sahara_galera_ssl_ca_cert }}{% endif %}{% endif %}
connection = mysql+pymysql://{{ sahara_galera_user }}:{{ sahara_container_mysql_password }}@{{ sahara_galera_address }}/{{ sahara_galera_database }}?charset=utf8{% if sahara_galera_use_ssl | bool %}&ssl_verify_cert=true{% if sahara_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ sahara_galera_ssl_ca_cert }}{% endif %}{% endif +%}
max_overflow = {{ sahara_db_max_overflow }}
max_pool_size = {{ sahara_db_max_pool_size }}
pool_timeout = {{ sahara_db_pool_timeout }}
connection_recycle_time = {{ sahara_db_connection_recycle_time }}
[keystone_authtoken]
insecure = {{ keystone_service_internaluri_insecure | bool }}