Skip to content

Commit db6b5b2

Browse files
ianballouevgeni
authored andcommitted
Fixes #39093 - add container db connection options
1 parent b935a76 commit db6b5b2

3 files changed

Lines changed: 31 additions & 0 deletions

File tree

manifests/plugin/container_gateway.pp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
#
1919
# $postgresql_password:: User password for the postgres database
2020
#
21+
# $database_max_connections:: Maximum number of DB connections
22+
#
23+
# $database_pool_timeout:: Time in seconds to wait for DB connection
24+
#
2125
# $sqlite_db_path:: Absolute path for the SQLite DB file to exist at
2226
#
2327
# $sqlite_timeout:: Database busy timeout in milliseconds
@@ -48,6 +52,8 @@
4852
String $postgresql_database = 'container_gateway',
4953
Optional[String[1]] $postgresql_user = undef,
5054
Optional[String] $postgresql_password = undef,
55+
Optional[Integer] $database_max_connections = undef,
56+
Optional[Integer] $database_pool_timeout = undef,
5157
Optional[Stdlib::HTTPUrl] $client_endpoint = undef,
5258
) {
5359
foreman_proxy::plugin::module { 'container_gateway':

spec/classes/foreman_proxy__plugin__container_gateway_spec.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,25 @@
107107
])
108108
end
109109
end
110+
111+
describe 'with database connection pool parameters' do
112+
let :params do {
113+
:database_max_connections => 20,
114+
:database_pool_timeout => 30,
115+
} end
116+
117+
it 'container_gateway.yml should contain configuration with database pool settings' do
118+
verify_exact_contents(catalogue, '/etc/foreman-proxy/settings.d/container_gateway.yml', [
119+
'---',
120+
':enabled: https',
121+
":pulp_endpoint: https://#{facts[:networking]['fqdn']}",
122+
':sqlite_db_path: /var/lib/foreman-proxy/smart_proxy_container_gateway.db',
123+
':db_connection_string: postgres:///container_gateway',
124+
':db_max_connections: 20',
125+
':db_pool_timeout: 30'
126+
])
127+
end
128+
end
110129
end
111130
end
112131
end

templates/plugin/container_gateway.yml.erb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,9 @@ when 'sqlite'
2323
end
2424
-%>
2525
:db_connection_string: <%= uri %>
26+
<% if scope.lookupvar("foreman_proxy::plugin::container_gateway::database_max_connections") -%>
27+
:db_max_connections: <%= scope.lookupvar("foreman_proxy::plugin::container_gateway::database_max_connections") %>
28+
<% end -%>
29+
<% if scope.lookupvar("foreman_proxy::plugin::container_gateway::database_pool_timeout") -%>
30+
:db_pool_timeout: <%= scope.lookupvar("foreman_proxy::plugin::container_gateway::database_pool_timeout") %>
31+
<% end -%>

0 commit comments

Comments
 (0)