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: I1c90ce68ce218d538cd89b111dc1ee4142f14eef
This commit is contained in:
Damian Dabrowski 2021-12-02 19:18:16 +01:00
parent 18690acd54
commit 9355e1dd2d
3 changed files with 10 additions and 10 deletions

View File

@ -148,6 +148,10 @@ ironic_galera_database: ironic
ironic_galera_use_ssl: "{{ galera_use_ssl | default(False) }}"
ironic_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}"
ironic_galera_port: "{{ galera_port | default('3306') }}"
ironic_db_max_overflow: "{{ openstack_db_max_overflow | default('50') }}"
ironic_db_max_pool_size: "{{ openstack_db_max_pool_size | default('5') }}"
ironic_db_pool_timeout: "{{ openstack_db_pool_timeout | default('30') }}"
ironic_db_connection_recycle_time: "{{ openstack_db_connection_recycle_time | default('600') }}"
## Keystone authentication middleware
ironic_keystone_auth_plugin: password
@ -171,11 +175,6 @@ ironic_dhcp_provider: "{{ (ironic_standalone | bool) | ternary('none', 'neutron'
ironic_sync_power_state_interval: "{{ (ironic_standalone | bool) | ternary('-1', '60') }}"
ironic_db_connection_string: "mysql+pymysql://{{ ironic_galera_user }}:{{ ironic_container_mysql_password }}@{{ ironic_galera_address }}:{{ ironic_galera_port }}/ironic?charset=utf8{% if ironic_galera_use_ssl | bool %}&ssl_verify_cert=true{% if ironic_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ ironic_galera_ssl_ca_cert }}{% endif %}{% endif %}"
# Ironic db tuning
ironic_db_max_overflow: 10
ironic_db_max_pool_size: 120
ironic_db_pool_timeout: 30
# Common configuration
ironic_node_name: ironic
@ -317,11 +316,10 @@ ironic_inspector_galera_database: ironic_inspector
ironic_inspector_galera_port: 3306
ironic_inspector_galera_use_ssl: "{{ galera_use_ssl | default(False) }}"
ironic_inspector_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('') }}"
# Ironic db tuning
ironic_inspector_db_max_overflow: 10
ironic_inspector_db_max_pool_size: 120
ironic_inspector_db_pool_timeout: 30
ironic_inspector_db_max_overflow: "{{ openstack_db_max_overflow | default('50') }}"
ironic_inspector_db_max_pool_size: "{{ openstack_db_max_pool_size | default('5') }}"
ironic_inspector_db_pool_timeout: "{{ openstack_db_pool_timeout | default('30') }}"
ironic_inspector_db_connection_recycle_time: "{{ openstack_db_connection_recycle_time | default('600') }}"
ironic_inspector_pip_install_args: "{{ pip_install_options | default('') }}"

View File

@ -20,6 +20,7 @@ connection = {{ ironic_inspector_openstack_db_connection_string }}
max_overflow = {{ ironic_inspector_db_max_overflow }}
max_pool_size = {{ ironic_inspector_db_max_pool_size }}
pool_timeout = {{ ironic_inspector_db_pool_timeout }}
connection_recycle_time = {{ ironic_inspector_db_connection_recycle_time }}
[discovery]
enroll_node_driver = ipmi

View File

@ -57,6 +57,7 @@ connection = {{ ironic_db_connection_string }}
max_overflow = {{ ironic_db_max_overflow }}
max_pool_size = {{ ironic_db_max_pool_size }}
pool_timeout = {{ ironic_db_pool_timeout }}
connection_recycle_time = {{ ironic_db_connection_recycle_time }}
[deploy]
erase_devices_priority = {{ ironic_erase_devices_priority }}