diff --git a/manifests/db.pp b/manifests/db.pp index b403075b9..4fa18600c 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -33,6 +33,11 @@ # If set, use this value for max_overflow with sqlalchemy. # (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 +# class neutron::db ( $database_connection = 'sqlite:////var/lib/neutron/ovs.sqlite', $database_idle_timeout = $::os_service_default, @@ -41,6 +46,7 @@ class neutron::db ( $database_max_retries = $::os_service_default, $database_retry_interval = $::os_service_default, $database_max_overflow = $::os_service_default, + $database_db_max_retries = $::os_service_default, ) { # NOTE(spredzy): In order to keep backward compatibility we rely on the pick function @@ -66,6 +72,7 @@ class neutron::db ( retry_interval => $database_retry_interval_real, max_pool_size => $database_max_pool_size_real, max_overflow => $database_max_overflow_real, + db_max_retries => $database_db_max_retries, } } diff --git a/spec/classes/neutron_db_spec.rb b/spec/classes/neutron_db_spec.rb index f99429a15..27273308a 100644 --- a/spec/classes/neutron_db_spec.rb +++ b/spec/classes/neutron_db_spec.rb @@ -11,6 +11,7 @@ describe 'neutron::db' do it { is_expected.to contain_neutron_config('database/min_pool_size').with_value('') } it { is_expected.to contain_neutron_config('database/max_retries').with_value('') } it { is_expected.to contain_neutron_config('database/retry_interval').with_value('') } + it { is_expected.to contain_neutron_config('database/db_max_retries').with_value('') } end @@ -20,7 +21,8 @@ describe 'neutron::db' do :database_idle_timeout => '3601', :database_min_pool_size => '2', :database_max_retries => '11', - :database_retry_interval => '11', } + :database_retry_interval => '11', + :database_db_max_retries => '-1', } end it { is_expected.to contain_neutron_config('database/connection').with_value('mysql+pymysql://neutron:neutron@localhost/neutron').with_secret(true) } @@ -28,6 +30,7 @@ describe 'neutron::db' do it { is_expected.to contain_neutron_config('database/min_pool_size').with_value('2') } it { is_expected.to contain_neutron_config('database/max_retries').with_value('11') } it { is_expected.to contain_neutron_config('database/retry_interval').with_value('11') } + it { is_expected.to contain_neutron_config('database/db_max_retries').with_value('-1') } end