Skip to content

Commit 8e7e59b

Browse files
Simon HoenscheidSimonHoenscheid
Simon Hoenscheid
authored andcommitted
* move subclass parameters with defaults to main class
* lookup default in main class * copy parameter documentation if available
1 parent a049a45 commit 8e7e59b

File tree

4 files changed

+62
-38
lines changed

4 files changed

+62
-38
lines changed

manifests/collect.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
define pe_databases::collect (
88
String $database_type = $title,
99
String $command = undef,
10-
Boolean $disable_maintenance = false,
10+
Boolean $disable_maintenance = $pe_databases::disable_maintenance,
1111
String $on_cal = undef,
1212
) {
1313
Service {

manifests/init.pp

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,50 @@
1515
# @param other_tables_repack_timer [String] The Systemd timer for the pg_repack job affecting the 'other' tables
1616
# @param reports_tables_repack_timer [String] The Systemd timer for the pg_repack job affecting the 'reports' tables
1717
# @param resource_events_tables_repack_timer [String] The Systemd timer for the pg_repack job affecting the 'resource_events' tables
18+
# @param maintenance_work_mem [String] Increase to improve speed of speed of vacuuming and reindexing (Example "1GB")
19+
# @param work_mem [String] Allows PostgreSQL to do larger in-memory sorts (Default: "4MB")
20+
# @param autovacuum_work_mem [String] Similar to but for maintenance_work_mem autovacuum processes only (Example "256MB")
21+
# @param autovacuum_max_workers [Integer] Maximum number of autovacuum processes to run concurrently (Default: 3)
22+
#
1823
class pe_databases (
19-
Boolean $manage_database_maintenance = true,
20-
Boolean $disable_maintenance = false,
21-
Boolean $manage_postgresql_settings = true,
22-
Boolean $manage_table_settings = false,
23-
String[1] $install_dir = '/opt/puppetlabs/pe_databases',
24-
String[1] $scripts_dir = "${install_dir}/scripts",
24+
# lint:ignore:140chars lint:ignore:optional_default
2525
String[1] $facts_tables_repack_timer = 'Tue,Sat *-*-* 04:30:00',
2626
String[1] $catalogs_tables_repack_timer = 'Sun,Thu *-*-* 04:30:00',
2727
String[1] $other_tables_repack_timer = '*-*-20 05:30:00',
2828
String[1] $reports_tables_repack_timer = '*-*-10 05:30:00',
2929
String[1] $resource_events_tables_repack_timer = '*-*-15 05:30:00',
30+
Boolean $all_in_one_pe_install = true,
31+
Hash $arbitrary_postgresql_conf_settings = {},
32+
Float[0,1] $autovacuum_vacuum_scale_factor = 0.08,
33+
Float[0,1] $autovacuum_analyze_scale_factor = 0.04,
34+
Integer $autovacuum_max_workers = max(3, min(8, $facts['processors']['count'] / 3)),
35+
String $autovacuum_work_mem = $all_in_one_pe_install ? {
36+
false => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 3 / $autovacuum_max_workers}MB",
37+
true => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 8 / $autovacuum_max_workers}MB",
38+
},
39+
Optional[Float[0,1]] $catalogs_autovacuum_vacuum_scale_factor = 0.75,
40+
Optional[Float[0,1]] $certnames_autovacuum_vacuum_scale_factor = 0.75,
41+
Float[0,1] $checkpoint_completion_target = 0.9,
42+
Integer $checkpoint_segments = 128,
43+
Boolean $disable_maintenance = false,
44+
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = 0.80,
45+
String $install_dir = '/opt/puppetlabs/pe_databases',
46+
Integer $log_autovacuum_min_duration = -1,
47+
Integer $log_temp_files = -1,
48+
String $maintenance_work_mem = $all_in_one_pe_install ? {
49+
false => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 3}MB",
50+
true => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 8}MB",
51+
},
52+
Boolean $manage_database_maintenance = true,
53+
Boolean $manage_postgresql_service = true,
54+
Boolean $manage_postgresql_settings = true,
55+
Boolean $manage_reports_autovacuum_cost_delay = true,
56+
Boolean $manage_table_settings = false,
57+
Integer $max_connections = 1000,
58+
String $scripts_dir = "${install_dir}/scripts",
59+
String $work_mem = '8MB',
60+
Optional[Float[0,1]] $reports_autovacuum_vacuum_scale_factor = 0.01,
61+
# lint:endignore
3062
) {
3163
$psql_version = $facts['pe_postgresql_info']['installed_server_version'] ? {
3264
undef => undef,

manifests/postgresql_settings.pp

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,28 @@
55
#
66
# @param maintenance_work_mem [String] Increase to improve speed of speed of vacuuming and reindexing (Example "1GB")
77
# @param work_mem [String] Allows PostgreSQL to do larger in-memory sorts (Default: "4MB")
8-
# @param autovacumn_work_mem [String] Similar to but for maintenance_work_mem autovacuum processes only (Example "256MB")
8+
# @param autovacuum_work_mem [String] Similar to but for maintenance_work_mem autovacuum processes only (Example "256MB")
99
# @param autovacuum_max_workers [Integer] Maximum number of autovacuum processes to run concurrently (Default: 3)
1010
#
1111
class pe_databases::postgresql_settings (
12-
# lint:ignore:140chars
13-
Float[0,1] $autovacuum_vacuum_scale_factor = 0.08,
14-
Float[0,1] $autovacuum_analyze_scale_factor = 0.04,
15-
Integer $autovacuum_max_workers = max(3, min(8, $facts['processors']['count'] / 3)),
16-
Integer $log_autovacuum_min_duration = -1,
17-
Integer $log_temp_files = -1,
18-
String $work_mem = '8MB',
19-
Integer $max_connections = 1000,
20-
Hash $arbitrary_postgresql_conf_settings = {},
21-
Float[0,1] $checkpoint_completion_target = 0.9,
22-
Integer $checkpoint_segments = 128,
23-
Boolean $manage_postgresql_service = true,
24-
Boolean $all_in_one_pe_install = true,
25-
Boolean $manage_reports_autovacuum_cost_delay = true,
26-
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = 0.80,
27-
Optional[Float[0,1]] $reports_autovacuum_vacuum_scale_factor = 0.01,
28-
String $maintenance_work_mem = $all_in_one_pe_install ? {
29-
false => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 3}MB",
30-
true => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 8}MB",
31-
},
32-
String $autovacuum_work_mem = $all_in_one_pe_install ? {
33-
false => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 3 / $autovacuum_max_workers}MB",
34-
true => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 8 / $autovacuum_max_workers}MB",
35-
},
12+
Float[0,1] $autovacuum_vacuum_scale_factor = $pe_databases::autovacuum_vacuum_scale_factor,
13+
Float[0,1] $autovacuum_analyze_scale_factor = $pe_databases::autovacuum_analyze_scale_factor,
14+
Integer $autovacuum_max_workers = $pe_databases::autovacuum_max_workers,
15+
Integer $log_autovacuum_min_duration = $pe_databases::log_autovacuum_min_duration,
16+
Integer $log_temp_files = $pe_databases::log_temp_files,
17+
String $work_mem = $pe_databases::work_mem,
18+
Integer $max_connections = $pe_databases::max_connections,
19+
Hash $arbitrary_postgresql_conf_settings = $pe_databases::arbitrary_postgresql_conf_settings,
20+
Float[0,1] $checkpoint_completion_target = $pe_databases::checkpoint_completion_target,
21+
Integer $checkpoint_segments = $pe_databases::checkpoint_segments,
22+
Boolean $manage_postgresql_service = $pe_databases::manage_postgresql_service,
23+
Boolean $all_in_one_pe_install = $pe_databases::all_in_one_pe_install,
24+
Boolean $manage_reports_autovacuum_cost_delay = $pe_databases::manage_reports_autovacuum_cost_delay,
25+
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = $pe_databases::factsets_autovacuum_vacuum_scale_factor,
26+
Optional[Float[0,1]] $reports_autovacuum_vacuum_scale_factor = $pe_databases::reports_autovacuum_vacuum_scale_factor,
27+
String $maintenance_work_mem = $pe_databases::maintenance_work_mem,
28+
String $autovacuum_work_mem = $pe_databases::autovacuum_work_mem,
3629
String $psql_version = $pe_databases::psql_version,
37-
# lint:endignore
3830
) {
3931
$postgresql_service_resource_name = 'postgresqld'
4032
$postgresql_service_name = 'pe-postgresql'

manifests/postgresql_settings/table_settings.pp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
#
66
class pe_databases::postgresql_settings::table_settings (
77
# lint:ignore:140chars
8-
Boolean $manage_reports_autovacuum_cost_delay = lookup('pe_databases::postgresql_settings::manage_reports_autovacuum_cost_delay', { 'default_value' => true }),
9-
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = lookup('pe_databases::postgresql_settings::factsets_autovacuum_vacuum_scale_factor', { 'default_value' => 0.80 }),
10-
Optional[Float[0,1]] $reports_autovacuum_vacuum_scale_factor = lookup('pe_databases::postgresql_settings::reports_autovacuum_vacuum_scale_factor', { 'default_value' => 0.01 }),
11-
Optional[Float[0,1]] $catalogs_autovacuum_vacuum_scale_factor = 0.75,
12-
Optional[Float[0,1]] $certnames_autovacuum_vacuum_scale_factor = 0.75,
8+
Boolean $manage_reports_autovacuum_cost_delay = $pe_databases::manage_reports_autovacuum_cost_delay,
9+
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = $pe_databases::factsets_autovacuum_vacuum_scale_factor,
10+
Optional[Float[0,1]] $reports_autovacuum_vacuum_scale_factor = $pe_databases::reports_autovacuum_vacuum_scale_factor,
11+
Optional[Float[0,1]] $catalogs_autovacuum_vacuum_scale_factor = $pe_databases::catalogs_autovacuum_vacuum_scale_factor,
12+
Optional[Float[0,1]] $certnames_autovacuum_vacuum_scale_factor = $pe_databases::certnames_autovacuum_vacuum_scale_factor,
1313
# lint:endignore
1414
) {
1515
if $manage_reports_autovacuum_cost_delay {

0 commit comments

Comments
 (0)