From 677a307b06e6ba0b65e2874cb1fd916d7f3f4daf Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Sun, 28 Apr 2019 15:00:08 +0800 Subject: [PATCH] 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: I02536803fad90dbf6edf27a85786f6e94d53d2f1 Depends-On: https://review.opendev.org/656106/ Closes-Bug: #1826692 --- manifests/api/db.pp | 66 +++++++++++-------- manifests/registry/db.pp | 66 +++++++++++-------- ...le_timeout_parameter-bdc85512b96b5d29.yaml | 4 ++ spec/classes/glance_api_db_spec.rb | 54 +++++++-------- spec/classes/glance_registry_db_spec.rb | 54 +++++++-------- 5 files changed, 138 insertions(+), 106 deletions(-) create mode 100644 releasenotes/notes/deprecate_idle_timeout_parameter-bdc85512b96b5d29.yaml diff --git a/manifests/api/db.pp b/manifests/api/db.pp index 17341cd4..705f561f 100644 --- a/manifests/api/db.pp +++ b/manifests/api/db.pp @@ -13,7 +13,7 @@ # Url used to connect to database. # (Optional) Defaults to 'sqlite:///var/lib/glance/glance.sqlite'. # -# [*database_idle_timeout*] +# [*database_connection_recycle_time*] # Timeout when db connections should be reaped. # (Optional) Defaults to $::os_service_default. # @@ -42,42 +42,56 @@ # (Optional) If set, use this value for pool_timeout with SQLAlchemy. # Defaults to $::os_service_default # +# DEPRECATED PARAMETERS +# +# [*database_idle_timeout*] +# Timeout when db connections should be reaped. +# Defaults to undef. +# class glance::api::db ( - $database_db_max_retries = $::os_service_default, - $database_connection = 'sqlite:///var/lib/glance/glance.sqlite', - $database_idle_timeout = $::os_service_default, - $database_min_pool_size = $::os_service_default, - $database_max_pool_size = $::os_service_default, - $database_max_retries = $::os_service_default, - $database_retry_interval = $::os_service_default, - $database_max_overflow = $::os_service_default, - $database_pool_timeout = $::os_service_default, + $database_db_max_retries = $::os_service_default, + $database_connection = 'sqlite:///var/lib/glance/glance.sqlite', + $database_connection_recycle_time = $::os_service_default, + $database_min_pool_size = $::os_service_default, + $database_max_pool_size = $::os_service_default, + $database_max_retries = $::os_service_default, + $database_retry_interval = $::os_service_default, + $database_max_overflow = $::os_service_default, + $database_pool_timeout = $::os_service_default, + # DEPRECATED PARAMETERS + $database_idle_timeout = undef, ) { include ::glance::deps + if $database_idle_timeout { + warning('The database_idle_timeout parameter is deprecated. Please use \ +database_connection_recycle_time instead.') + } + # NOTE(degorenko): In order to keep backward compatibility we rely on the pick function # to use glance::api:: if glance::api::db:: isn't specified. - $database_connection_real = pick($::glance::api::database_connection, $database_connection) - $database_idle_timeout_real = pick($::glance::api::database_idle_timeout, $database_idle_timeout) - $database_min_pool_size_real = pick($::glance::api::database_min_pool_size, $database_min_pool_size) - $database_max_pool_size_real = pick($::glance::api::database_max_pool_size, $database_max_pool_size) - $database_max_retries_real = pick($::glance::api::database_max_retries, $database_max_retries) - $database_retry_interval_real = pick($::glance::api::database_retry_interval, $database_retry_interval) - $database_max_overflow_real = pick($::glance::api::database_max_overflow, $database_max_overflow) + $database_connection_real = pick($::glance::api::database_connection, $database_connection) + $database_connection_recycle_time_real = pick($::glance::api::database_idle_timeout, $database_idle_timeout, + $database_connection_recycle_time) + $database_min_pool_size_real = pick($::glance::api::database_min_pool_size, $database_min_pool_size) + $database_max_pool_size_real = pick($::glance::api::database_max_pool_size, $database_max_pool_size) + $database_max_retries_real = pick($::glance::api::database_max_retries, $database_max_retries) + $database_retry_interval_real = pick($::glance::api::database_retry_interval, $database_retry_interval) + $database_max_overflow_real = pick($::glance::api::database_max_overflow, $database_max_overflow) validate_legacy(Oslo::Dbconn, 'validate_re', $database_connection_real, ['^(sqlite|mysql(\+pymysql)?|postgresql):\/\/(\S+:\S+@\S+\/\S+)?']) oslo::db { 'glance_api_config': - db_max_retries => $database_db_max_retries, - connection => $database_connection_real, - idle_timeout => $database_idle_timeout_real, - min_pool_size => $database_min_pool_size_real, - max_retries => $database_max_retries_real, - retry_interval => $database_retry_interval_real, - max_pool_size => $database_max_pool_size_real, - max_overflow => $database_max_overflow_real, - pool_timeout => $database_pool_timeout, + db_max_retries => $database_db_max_retries, + connection => $database_connection_real, + connection_recycle_time => $database_connection_recycle_time_real, + min_pool_size => $database_min_pool_size_real, + max_retries => $database_max_retries_real, + retry_interval => $database_retry_interval_real, + max_pool_size => $database_max_pool_size_real, + max_overflow => $database_max_overflow_real, + pool_timeout => $database_pool_timeout, } } diff --git a/manifests/registry/db.pp b/manifests/registry/db.pp index 262810ed..b9364071 100644 --- a/manifests/registry/db.pp +++ b/manifests/registry/db.pp @@ -13,7 +13,7 @@ # Url used to connect to database. # (Optional) Defaults to 'sqlite:///var/lib/glance/glance.sqlite'. # -# [*database_idle_timeout*] +# [*database_connection_recycle_time*] # Timeout when db connections should be reaped. # (Optional) Defaults to $::os_service_default. # @@ -42,42 +42,56 @@ # (Optional) If set, use this value for pool_timeout with SQLAlchemy. # Defaults to $::os_service_default # +# DEPRECATED PARAMETERS +# +# [*database_idle_timeout*] +# Timeout when db connections should be reaped. +# Defaults to undef. +# class glance::registry::db ( - $database_db_max_retries = $::os_service_default, - $database_connection = 'sqlite:///var/lib/glance/glance.sqlite', - $database_idle_timeout = $::os_service_default, - $database_min_pool_size = $::os_service_default, - $database_max_pool_size = $::os_service_default, - $database_max_retries = $::os_service_default, - $database_retry_interval = $::os_service_default, - $database_max_overflow = $::os_service_default, - $database_pool_timeout = $::os_service_default, + $database_db_max_retries = $::os_service_default, + $database_connection = 'sqlite:///var/lib/glance/glance.sqlite', + $database_connection_recycle_time = $::os_service_default, + $database_min_pool_size = $::os_service_default, + $database_max_pool_size = $::os_service_default, + $database_max_retries = $::os_service_default, + $database_retry_interval = $::os_service_default, + $database_max_overflow = $::os_service_default, + $database_pool_timeout = $::os_service_default, + # DEPRECATED PARAMETERS + $database_idle_timeout = undef, ) { include ::glance::deps + if $database_idle_timeout { + warning('The database_idle_timeout parameter is deprecated. Please use \ +database_connection_recycle_time instead.') + } + # NOTE(degorenko): In order to keep backward compatibility we rely on the pick function # to use glance::registry:: if glance::registry::db:: isn't specified. - $database_connection_real = pick($::glance::registry::database_connection, $database_connection) - $database_idle_timeout_real = pick($::glance::registry::database_idle_timeout, $database_idle_timeout) - $database_min_pool_size_real = pick($::glance::registry::database_min_pool_size, $database_min_pool_size) - $database_max_pool_size_real = pick($::glance::registry::database_max_pool_size, $database_max_pool_size) - $database_max_retries_real = pick($::glance::registry::database_max_retries, $database_max_retries) - $database_retry_interval_real = pick($::glance::registry::database_retry_interval, $database_retry_interval) - $database_max_overflow_real = pick($::glance::registry::database_max_overflow, $database_max_overflow) + $database_connection_real = pick($::glance::registry::database_connection, $database_connection) + $database_connection_recycle_time_real = pick($::glance::registry::database_idle_timeout, $database_idle_timeout, + $database_connection_recycle_time) + $database_min_pool_size_real = pick($::glance::registry::database_min_pool_size, $database_min_pool_size) + $database_max_pool_size_real = pick($::glance::registry::database_max_pool_size, $database_max_pool_size) + $database_max_retries_real = pick($::glance::registry::database_max_retries, $database_max_retries) + $database_retry_interval_real = pick($::glance::registry::database_retry_interval, $database_retry_interval) + $database_max_overflow_real = pick($::glance::registry::database_max_overflow, $database_max_overflow) validate_legacy(Oslo::Dbconn, 'validate_re', $database_connection_real, ['^(sqlite|mysql(\+pymysql)?|postgresql):\/\/(\S+:\S+@\S+\/\S+)?']) oslo::db { 'glance_registry_config': - db_max_retries => $database_db_max_retries, - connection => $database_connection_real, - idle_timeout => $database_idle_timeout_real, - min_pool_size => $database_min_pool_size_real, - max_retries => $database_max_retries_real, - retry_interval => $database_retry_interval_real, - max_pool_size => $database_max_pool_size_real, - max_overflow => $database_max_overflow_real, - pool_timeout => $database_pool_timeout, + db_max_retries => $database_db_max_retries, + connection => $database_connection_real, + connection_recycle_time => $database_connection_recycle_time_real, + min_pool_size => $database_min_pool_size_real, + max_retries => $database_max_retries_real, + retry_interval => $database_retry_interval_real, + max_pool_size => $database_max_pool_size_real, + max_overflow => $database_max_overflow_real, + pool_timeout => $database_pool_timeout, } } diff --git a/releasenotes/notes/deprecate_idle_timeout_parameter-bdc85512b96b5d29.yaml b/releasenotes/notes/deprecate_idle_timeout_parameter-bdc85512b96b5d29.yaml new file mode 100644 index 00000000..09e76c41 --- /dev/null +++ b/releasenotes/notes/deprecate_idle_timeout_parameter-bdc85512b96b5d29.yaml @@ -0,0 +1,4 @@ +--- +deprecations: + - database_idle_timeout is deprecated and will be removed in a future + release. Please use database_connection_recycle_time instead. diff --git a/spec/classes/glance_api_db_spec.rb b/spec/classes/glance_api_db_spec.rb index d4304c00..049aa519 100644 --- a/spec/classes/glance_api_db_spec.rb +++ b/spec/classes/glance_api_db_spec.rb @@ -6,45 +6,45 @@ describe 'glance::api::db' do it { should contain_class('glance::deps') } it { should contain_oslo__db('glance_api_config').with( - :db_max_retries => '', - :connection => 'sqlite:///var/lib/glance/glance.sqlite', - :idle_timeout => '', - :min_pool_size => '', - :max_pool_size => '', - :max_retries => '', - :retry_interval => '', - :max_overflow => '', - :pool_timeout => '', + :db_max_retries => '', + :connection => 'sqlite:///var/lib/glance/glance.sqlite', + :connection_recycle_time => '', + :min_pool_size => '', + :max_pool_size => '', + :max_retries => '', + :retry_interval => '', + :max_overflow => '', + :pool_timeout => '', )} end context 'with specific parameters' do let :params do { - :database_connection => 'mysql+pymysql://glance_api:glance@localhost/glance', - :database_idle_timeout => '3601', - :database_min_pool_size => '2', - :database_max_retries => '11', - :database_db_max_retries => '-1', - :database_retry_interval => '11', - :database_max_pool_size => '11', - :database_max_overflow => '21', - :database_pool_timeout => '21', + :database_connection => 'mysql+pymysql://glance_api:glance@localhost/glance', + :database_connection_recycle_time => '3601', + :database_min_pool_size => '2', + :database_max_retries => '11', + :database_db_max_retries => '-1', + :database_retry_interval => '11', + :database_max_pool_size => '11', + :database_max_overflow => '21', + :database_pool_timeout => '21', } end it { should contain_class('glance::deps') } it { should contain_oslo__db('glance_api_config').with( - :connection => 'mysql+pymysql://glance_api:glance@localhost/glance', - :idle_timeout => '3601', - :min_pool_size => '2', - :max_pool_size => '11', - :max_retries => '11', - :db_max_retries => '-1', - :retry_interval => '11', - :max_overflow => '21', - :pool_timeout => '21', + :connection => 'mysql+pymysql://glance_api:glance@localhost/glance', + :connection_recycle_time => '3601', + :min_pool_size => '2', + :max_pool_size => '11', + :max_retries => '11', + :db_max_retries => '-1', + :retry_interval => '11', + :max_overflow => '21', + :pool_timeout => '21', )} end end diff --git a/spec/classes/glance_registry_db_spec.rb b/spec/classes/glance_registry_db_spec.rb index 97ef0563..8fa32f0e 100644 --- a/spec/classes/glance_registry_db_spec.rb +++ b/spec/classes/glance_registry_db_spec.rb @@ -6,45 +6,45 @@ describe 'glance::registry::db' do it { should contain_class('glance::deps') } it { should contain_oslo__db('glance_registry_config').with( - :db_max_retries => '', - :connection => 'sqlite:///var/lib/glance/glance.sqlite', - :idle_timeout => '', - :min_pool_size => '', - :max_pool_size => '', - :max_retries => '', - :retry_interval => '', - :max_overflow => '', - :pool_timeout => '', + :db_max_retries => '', + :connection => 'sqlite:///var/lib/glance/glance.sqlite', + :connection_recycle_time => '', + :min_pool_size => '', + :max_pool_size => '', + :max_retries => '', + :retry_interval => '', + :max_overflow => '', + :pool_timeout => '', )} end context 'with specific parameters' do let :params do { - :database_db_max_retries => '-1', - :database_connection => 'mysql+pymysql://glance_registry:glance@localhost/glance', - :database_idle_timeout => '3601', - :database_min_pool_size => '2', - :database_max_retries => '11', - :database_retry_interval => '11', - :database_max_pool_size => '11', - :database_max_overflow => '21', - :database_pool_timeout => '21', + :database_db_max_retries => '-1', + :database_connection => 'mysql+pymysql://glance_registry:glance@localhost/glance', + :database_connection_recycle_time => '3601', + :database_min_pool_size => '2', + :database_max_retries => '11', + :database_retry_interval => '11', + :database_max_pool_size => '11', + :database_max_overflow => '21', + :database_pool_timeout => '21', } end it { should contain_class('glance::deps') } it { should contain_oslo__db('glance_registry_config').with( - :db_max_retries => '-1', - :connection => 'mysql+pymysql://glance_registry:glance@localhost/glance', - :idle_timeout => '3601', - :min_pool_size => '2', - :max_pool_size => '11', - :max_retries => '11', - :retry_interval => '11', - :max_overflow => '21', - :pool_timeout => '21', + :db_max_retries => '-1', + :connection => 'mysql+pymysql://glance_registry:glance@localhost/glance', + :connection_recycle_time => '3601', + :min_pool_size => '2', + :max_pool_size => '11', + :max_retries => '11', + :retry_interval => '11', + :max_overflow => '21', + :pool_timeout => '21', )} end end