Skip to content

Commit e620001

Browse files
author
Simon Hoenscheid
committed
* move subclass parameters with defaults to main class
* lookup default in main class * copy parameter documentation if available
1 parent e30cd20 commit e620001

File tree

5 files changed

+64
-39
lines changed

5 files changed

+64
-39
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: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,46 @@
1010
# Manage table settings
1111
# @param install_dir [String] Directory to install module into (Default: "/opt/puppetlabs/pe_databases")
1212
# @param scripts_dir [String] Directory to install scripts into (Default: "${install_dir}/scripts")
13+
# @param maintenance_work_mem [String] Increase to improve speed of speed of vacuuming and reindexing (Example "1GB")
14+
# @param work_mem [String] Allows PostgreSQL to do larger in-memory sorts (Default: "4MB")
15+
# @param autovacuum_work_mem [String] Similar to but for maintenance_work_mem autovacuum processes only (Example "256MB")
16+
# @param autovacuum_max_workers [Integer] Maximum number of autovacuum processes to run concurrently (Default: 3)
1317
class pe_databases (
14-
Boolean $manage_database_maintenance = true,
15-
Boolean $disable_maintenance = false,
16-
Boolean $manage_postgresql_settings = true,
17-
Boolean $manage_table_settings = false,
18-
String $install_dir = '/opt/puppetlabs/pe_databases',
19-
String $scripts_dir = "${install_dir}/scripts"
18+
# lint:ignore:140chars lint:ignore:optional_default
19+
Boolean $all_in_one_pe_install = true,
20+
Hash $arbitrary_postgresql_conf_settings = {},
21+
Float[0,1] $autovacuum_vacuum_scale_factor = 0.08,
22+
Float[0,1] $autovacuum_analyze_scale_factor = 0.04,
23+
Integer $autovacuum_max_workers = max(3, min(8, $facts['processors']['count'] / 3)),
24+
String $autovacuum_work_mem = $all_in_one_pe_install ? {
25+
false => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 3 / $autovacuum_max_workers}MB",
26+
true => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 8 / $autovacuum_max_workers}MB",
27+
},
28+
Optional[Float[0,1]] $catalogs_autovacuum_vacuum_scale_factor = 0.75,
29+
Optional[Float[0,1]] $certnames_autovacuum_vacuum_scale_factor = 0.75,
30+
Float[0,1] $checkpoint_completion_target = 0.9,
31+
Integer $checkpoint_segments = 128,
32+
Boolean $disable_maintenance = false,
33+
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = 0.80,
34+
String $install_dir = '/opt/puppetlabs/pe_databases',
35+
Integer $log_autovacuum_min_duration = -1,
36+
Integer $log_temp_files = -1,
37+
String $maintenance_work_mem = $all_in_one_pe_install ? {
38+
false => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 3}MB",
39+
true => "${facts['memory']['system']['total_bytes'] / 1024 / 1024 / 8}MB",
40+
},
41+
Boolean $manage_database_maintenance = true,
42+
Boolean $manage_postgresql_service = true,
43+
Boolean $manage_postgresql_settings = true,
44+
Boolean $manage_reports_autovacuum_cost_delay = true,
45+
Boolean $manage_table_settings = false,
46+
Integer $max_connections = 1000,
47+
String $scripts_dir = "${install_dir}/scripts",
48+
String $work_mem = '8MB',
49+
Boolean $manage_reports_autovacuum_cost_delay = true,
50+
Optional[Float[0,1]] $factsets_autovacuum_vacuum_scale_factor = 0.80,
51+
Optional[Float[0,1]] $reports_autovacuum_vacuum_scale_factor = 0.01,
52+
# lint:endignore
2053
) {
2154
$psql_version = $facts['pe_postgresql_info']['installed_server_version'] ? {
2255
undef => undef,

manifests/pg_repack.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Disable or enable maintenance mode
88
# @param jobs [Integer] How many jobs to run in parallel
99
class pe_databases::pg_repack (
10-
Boolean $disable_maintenance = false,
10+
Boolean $disable_maintenance = $pe_databases::disable_maintenance,
1111
Integer $jobs = $facts['processors']['count'] / 4
1212
) {
1313
# PE 2019.1 starting shipping versioned pe-postgres packages where all paths are versioned.

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)