Deprecate idle_timeout option

The idle_timeout parameter is deprecated, use connection_recycle_time
instead[1].

[1]https://review.opendev.org/#/c/334182/

Change-Id: I5e4f19fc4b98f19e380e7884cfcd6f112e350680
Closes-Bug: #1826692
This commit is contained in:
ZhongShengping 2019-04-28 11:16:46 +08:00
parent 46610b9707
commit 3eb0e70947
3 changed files with 81 additions and 65 deletions

View File

@ -42,7 +42,7 @@
# (Optional) The SQL mode to be used for MySQL sessions.
# Defaults to $::os_service_default
#
# [*idle_timeout*]
# [*connection_recycle_time*]
# (Optional) Timeout before idle SQL connections are reaped.
# Defaults to $::os_service_default
#
@ -106,6 +106,12 @@
# (Optional) Enable the experimental use of thread pooling for all DB API calls (boolean value)
# Defaults to $::os_service_default
#
# DEPRECATED PARAMETERS
#
# [*idle_timeout*]
# (Optional) Timeout before idle SQL connections are reaped.
# Defaults to undef
#
define oslo::db(
$config_group = 'database',
$sqlite_synchronous = $::os_service_default,
@ -115,7 +121,7 @@ define oslo::db(
$connection = $::os_service_default,
$slave_connection = $::os_service_default,
$mysql_sql_mode = $::os_service_default,
$idle_timeout = $::os_service_default,
$connection_recycle_time = $::os_service_default,
$min_pool_size = $::os_service_default,
$max_pool_size = $::os_service_default,
$max_retries = $::os_service_default,
@ -130,6 +136,8 @@ define oslo::db(
$db_max_retry_interval = $::os_service_default,
$db_max_retries = $::os_service_default,
$use_tpool = $::os_service_default,
# DEPRCATED PARAMETERS
$idle_timeout = $::os_service_default,
) {
include ::oslo::params
@ -175,13 +183,17 @@ define oslo::db(
}
}
if $idle_timeout {
warning('The idle_timeout parameter is deprecated. Please use connection_recycle_time instead.')
}
$database_options = {
"${config_group}/sqlite_synchronous" => { value => $sqlite_synchronous },
"${config_group}/backend" => { value => $backend },
"${config_group}/connection" => { value => $connection, secret => true },
"${config_group}/slave_connection" => { value => $slave_connection, secret => true },
"${config_group}/mysql_sql_mode" => { value => $mysql_sql_mode },
"${config_group}/idle_timeout" => { value => $idle_timeout },
"${config_group}/connection_recycle_time" => { value => $connection_recycle_time },
"${config_group}/min_pool_size" => { value => $min_pool_size },
"${config_group}/max_pool_size" => { value => $max_pool_size },
"${config_group}/max_retries" => { value => $max_retries },

View File

@ -0,0 +1,4 @@
---
deprecations:
- db::idle_timeout is deprecated and will be removed in a future
release. Please use db::connection_recycle_time instead.

View File

@ -13,7 +13,7 @@ describe 'oslo::db' do
is_expected.to contain_keystone_config('database/connection').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/slave_connection').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/mysql_sql_mode').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/idle_timeout').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/connection_recycle_time').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/min_pool_size').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/max_pool_size').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/max_retries').with_value('<SERVICE DEFAULT>')
@ -38,7 +38,7 @@ describe 'oslo::db' do
:backend => 'sqlalchemy',
:connection => 'mysql+pymysql://db:db@localhost/db',
:mysql_sql_mode => 'TRADITIONAL',
:idle_timeout => '3601',
:connection_recycle_time => '3601',
:min_pool_size => '2',
:max_pool_size => '100',
:max_retries => '10',
@ -60,7 +60,7 @@ describe 'oslo::db' do
is_expected.to contain_keystone_config('custom_group/backend').with_value('sqlalchemy')
is_expected.to contain_keystone_config('custom_group/connection').with_value('mysql+pymysql://db:db@localhost/db').with_secret(true)
is_expected.to contain_keystone_config('custom_group/mysql_sql_mode').with_value('TRADITIONAL')
is_expected.to contain_keystone_config('custom_group/idle_timeout').with_value('3601')
is_expected.to contain_keystone_config('custom_group/connection_recycle_time').with_value('3601')
is_expected.to contain_keystone_config('custom_group/min_pool_size').with_value('2')
is_expected.to contain_keystone_config('custom_group/max_pool_size').with_value('100')
is_expected.to contain_keystone_config('custom_group/max_retries').with_value('10')