diff options
Diffstat (limited to 'manifests/profile/base/database')
-rw-r--r-- | manifests/profile/base/database/mongodb.pp | 11 | ||||
-rw-r--r-- | manifests/profile/base/database/mysql.pp | 21 |
2 files changed, 19 insertions, 13 deletions
diff --git a/manifests/profile/base/database/mongodb.pp b/manifests/profile/base/database/mongodb.pp index 8967f5b..4740d67 100644 --- a/manifests/profile/base/database/mongodb.pp +++ b/manifests/profile/base/database/mongodb.pp @@ -30,10 +30,15 @@ # for more details. # Defaults to hiera('step') # +# [*memory_limit*] +# (Optional) Limit amount of memory mongodb can use +# Defaults to 20G +# class tripleo::profile::base::database::mongodb ( $mongodb_replset, $bootstrap_node = downcase(hiera('bootstrap_nodeid')), $step = hiera('step'), + $memory_limit = '20G', ) { if $step >= 2 { @@ -56,5 +61,11 @@ class tripleo::profile::base::database::mongodb ( } } + # Limit memory utilization + ::systemd::service_limits { 'mongod.service': + limits => { + 'MemoryLimit' => $memory_limit + } + } } } diff --git a/manifests/profile/base/database/mysql.pp b/manifests/profile/base/database/mysql.pp index a0193cf..b4ac8ac 100644 --- a/manifests/profile/base/database/mysql.pp +++ b/manifests/profile/base/database/mysql.pp @@ -47,12 +47,6 @@ # limit for the mysql service. # Defaults to false # -# [*generate_service_certificates*] -# (Optional) Whether or not certmonger will generate certificates for -# MySQL. This could be as many as specified by the $certificates_specs -# variable. -# Defaults to hiera('generate_service_certificate', false). -# # [*manage_resources*] # (Optional) Whether or not manage root user, root my.cnf, and service. # Defaults to true @@ -62,6 +56,10 @@ # Should be an hash. # Defaults to {} # +# [*mysql_max_connections*] +# (Optional) Maximum number of connections to MySQL. +# Defaults to hiera('mysql_max_connections', undef) +# # [*remove_default_accounts*] # (Optional) Whether or not remove default MySQL accounts. # Defaults to true @@ -78,9 +76,9 @@ class tripleo::profile::base::database::mysql ( $certificate_specs = {}, $enable_internal_tls = hiera('enable_internal_tls', false), $generate_dropin_file_limit = false, - $generate_service_certificates = hiera('generate_service_certificates', false), $manage_resources = true, $mysql_server_options = {}, + $mysql_max_connections = hiera('mysql_max_connections', undef), $remove_default_accounts = true, $step = hiera('step'), ) { @@ -95,9 +93,6 @@ class tripleo::profile::base::database::mysql ( validate_hash($certificate_specs) if $enable_internal_tls { - if $generate_service_certificates { - ensure_resource('class', 'tripleo::certmonger::mysql', $certificate_specs) - } $tls_certfile = $certificate_specs['service_certificate'] $tls_keyfile = $certificate_specs['service_key'] } else { @@ -126,7 +121,7 @@ class tripleo::profile::base::database::mysql ( $mysql_server_default = { 'mysqld' => { 'bind-address' => $bind_address, - 'max_connections' => hiera('mysql_max_connections'), + 'max_connections' => $mysql_max_connections, 'open_files_limit' => '-1', 'innodb_file_per_table' => 'ON', 'ssl' => $enable_internal_tls, @@ -146,11 +141,11 @@ class tripleo::profile::base::database::mysql ( remove_default_accounts => $remove_default_accounts, } - if $generate_dropin_file_limit { + if $generate_dropin_file_limit and $manage_resources { # Raise the mysql file limit ::systemd::service_limits { 'mariadb.service': limits => { - LimitNOFILE => 16384 + 'LimitNOFILE' => 16384 } } } |