From 39c790de6da67beda8884a3392ee5f44eed1fcca Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Wed, 23 May 2018 15:45:35 +0800 Subject: [PATCH] Add support for db_max_retries param The db_max_retries parameter regulates the number of reconnection attempts performed after an error raised rather than at startup. Change-Id: I91ee4d1fe255f0225b499ecf565bd91b89fc47bf Releated-Bug: #1579718 --- manifests/inspector/db.pp | 7 +++++++ .../notes/add_db_max_retries-a1d3176323e781a5.yaml | 6 ++++++ spec/classes/ironic_inspector_db_spec.rb | 3 +++ 3 files changed, 16 insertions(+) create mode 100644 releasenotes/notes/add_db_max_retries-a1d3176323e781a5.yaml diff --git a/manifests/inspector/db.pp b/manifests/inspector/db.pp index 39bca1c6..400ebeb0 100644 --- a/manifests/inspector/db.pp +++ b/manifests/inspector/db.pp @@ -12,6 +12,11 @@ # Timeout when db connections should be reaped. # (Optional) Defaults to $::os_service_default # +# [*database_db_max_retries*] +# (Optional) Maximum retries in case of connection error or deadlock error +# before error is raised. Set to -1 to specify an infinite retry count. +# Defaults to $::os_service_default +# # [*database_max_retries*] # Maximum db connection retries during startup. # Setting -1 implies an infinite retry count. @@ -41,6 +46,7 @@ class ironic::inspector::db ( $database_connection = 'sqlite:////var/lib/ironic-inspector/inspector.sqlite', $database_idle_timeout = $::os_service_default, $database_max_retries = $::os_service_default, + $database_db_max_retries = $::os_service_default, $database_retry_interval = $::os_service_default, $database_min_pool_size = $::os_service_default, $database_max_pool_size = $::os_service_default, @@ -61,6 +67,7 @@ class ironic::inspector::db ( min_pool_size => $database_min_pool_size, max_pool_size => $database_max_pool_size, max_retries => $database_max_retries, + db_max_retries => $database_max_retries, retry_interval => $database_retry_interval, max_overflow => $database_max_overflow, pool_timeout => $database_pool_timeout, diff --git a/releasenotes/notes/add_db_max_retries-a1d3176323e781a5.yaml b/releasenotes/notes/add_db_max_retries-a1d3176323e781a5.yaml new file mode 100644 index 00000000..d9fac023 --- /dev/null +++ b/releasenotes/notes/add_db_max_retries-a1d3176323e781a5.yaml @@ -0,0 +1,6 @@ +--- +features: + - Add new option ironic::inspector::db::database_db_max_retries. + The database_db_max_retries parameter regulates the number of + reconnection attempts performed after an error raised rather + than at startup. diff --git a/spec/classes/ironic_inspector_db_spec.rb b/spec/classes/ironic_inspector_db_spec.rb index 29f7054c..fdd68791 100644 --- a/spec/classes/ironic_inspector_db_spec.rb +++ b/spec/classes/ironic_inspector_db_spec.rb @@ -13,6 +13,7 @@ describe 'ironic::inspector::db' do it { is_expected.to contain_ironic_inspector_config('database/max_overflow').with_value('') } it { is_expected.to contain_ironic_inspector_config('database/pool_timeout').with_value('') } it { is_expected.to contain_ironic_inspector_config('database/max_retries').with_value('') } + it { is_expected.to contain_ironic_inspector_config('database/db_max_retries').with_value('') } it { is_expected.to contain_ironic_inspector_config('database/retry_interval').with_value('') } end @@ -24,6 +25,7 @@ describe 'ironic::inspector::db' do :database_min_pool_size => '2', :database_max_pool_size => '21', :database_max_retries => '11', + :database_db_max_retries => '11', :database_max_overflow => '21', :database_pool_timeout => '21', :database_retry_interval => '11', } @@ -33,6 +35,7 @@ describe 'ironic::inspector::db' do it { is_expected.to contain_ironic_inspector_config('database/idle_timeout').with_value('3601') } it { is_expected.to contain_ironic_inspector_config('database/min_pool_size').with_value('2') } it { is_expected.to contain_ironic_inspector_config('database/max_retries').with_value('11') } + it { is_expected.to contain_ironic_inspector_config('database/db_max_retries').with_value('11') } it { is_expected.to contain_ironic_inspector_config('database/max_pool_size').with_value('21') } it { is_expected.to contain_ironic_inspector_config('database/max_overflow').with_value('21') } it { is_expected.to contain_ironic_inspector_config('database/pool_timeout').with_value('21') }