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. # (Optional) The SQL mode to be used for MySQL sessions.
# Defaults to $::os_service_default # Defaults to $::os_service_default
# #
# [*idle_timeout*] # [*connection_recycle_time*]
# (Optional) Timeout before idle SQL connections are reaped. # (Optional) Timeout before idle SQL connections are reaped.
# Defaults to $::os_service_default # Defaults to $::os_service_default
# #
@ -106,6 +106,12 @@
# (Optional) Enable the experimental use of thread pooling for all DB API calls (boolean value) # (Optional) Enable the experimental use of thread pooling for all DB API calls (boolean value)
# Defaults to $::os_service_default # Defaults to $::os_service_default
# #
# DEPRECATED PARAMETERS
#
# [*idle_timeout*]
# (Optional) Timeout before idle SQL connections are reaped.
# Defaults to undef
#
define oslo::db( define oslo::db(
$config_group = 'database', $config_group = 'database',
$sqlite_synchronous = $::os_service_default, $sqlite_synchronous = $::os_service_default,
@ -115,7 +121,7 @@ define oslo::db(
$connection = $::os_service_default, $connection = $::os_service_default,
$slave_connection = $::os_service_default, $slave_connection = $::os_service_default,
$mysql_sql_mode = $::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, $min_pool_size = $::os_service_default,
$max_pool_size = $::os_service_default, $max_pool_size = $::os_service_default,
$max_retries = $::os_service_default, $max_retries = $::os_service_default,
@ -130,6 +136,8 @@ define oslo::db(
$db_max_retry_interval = $::os_service_default, $db_max_retry_interval = $::os_service_default,
$db_max_retries = $::os_service_default, $db_max_retries = $::os_service_default,
$use_tpool = $::os_service_default, $use_tpool = $::os_service_default,
# DEPRCATED PARAMETERS
$idle_timeout = $::os_service_default,
) { ) {
include ::oslo::params 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 = { $database_options = {
"${config_group}/sqlite_synchronous" => { value => $sqlite_synchronous }, "${config_group}/sqlite_synchronous" => { value => $sqlite_synchronous },
"${config_group}/backend" => { value => $backend }, "${config_group}/backend" => { value => $backend },
"${config_group}/connection" => { value => $connection, secret => true }, "${config_group}/connection" => { value => $connection, secret => true },
"${config_group}/slave_connection" => { value => $slave_connection, secret => true }, "${config_group}/slave_connection" => { value => $slave_connection, secret => true },
"${config_group}/mysql_sql_mode" => { value => $mysql_sql_mode }, "${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}/min_pool_size" => { value => $min_pool_size },
"${config_group}/max_pool_size" => { value => $max_pool_size }, "${config_group}/max_pool_size" => { value => $max_pool_size },
"${config_group}/max_retries" => { value => $max_retries }, "${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/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/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/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/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_pool_size').with_value('<SERVICE DEFAULT>')
is_expected.to contain_keystone_config('database/max_retries').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', :backend => 'sqlalchemy',
:connection => 'mysql+pymysql://db:db@localhost/db', :connection => 'mysql+pymysql://db:db@localhost/db',
:mysql_sql_mode => 'TRADITIONAL', :mysql_sql_mode => 'TRADITIONAL',
:idle_timeout => '3601', :connection_recycle_time => '3601',
:min_pool_size => '2', :min_pool_size => '2',
:max_pool_size => '100', :max_pool_size => '100',
:max_retries => '10', :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/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/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/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/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_pool_size').with_value('100')
is_expected.to contain_keystone_config('custom_group/max_retries').with_value('10') is_expected.to contain_keystone_config('custom_group/max_retries').with_value('10')