aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPradeep Kilambi <pkilambi@redhat.com>2017-01-11 13:56:57 -0500
committerPradeep Kilambi <pkilambi@redhat.com>2017-04-17 12:46:05 +0000
commitac5954cc1f13a742692cf689fc0f6b3c178f60cf (patch)
tree68f07dc3dc7cfd57faff94a0ccd22ee672ef1b91
parent5d4b65b583a673e948e8527a77afd0cd04879f10 (diff)
Restrict mongodb memory usage
Currently, mongodb has no limits on how much memory it can consume. This enforces restriction so mongodb service limits through systemd. The puppet-systemd module has support for limits. The MemoryLimit support is added in the follwoing pull request https://github.com/camptocamp/puppet-systemd/pull/23 Closes-bug: #1656558 Change-Id: Ie9391aa39532507c5de8dd668a70d5b66e17c891 (cherry picked from commit 3aa86a4ea3c2406f79d6283cbb158f67136b5e9a)
-rw-r--r--manifests/profile/base/database/mongodb.pp11
-rw-r--r--releasenotes/notes/restrict-mongodb-memory-c19d69638b63feb4.yaml6
2 files changed, 17 insertions, 0 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/releasenotes/notes/restrict-mongodb-memory-c19d69638b63feb4.yaml b/releasenotes/notes/restrict-mongodb-memory-c19d69638b63feb4.yaml
new file mode 100644
index 0000000..1186bb9
--- /dev/null
+++ b/releasenotes/notes/restrict-mongodb-memory-c19d69638b63feb4.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+ - Add a way for mongodb to limit amount of memory it comsumes
+ with systemd. A new param memory_limit has been added to
+ tripleo::profile::base::database::mongodb class with
+ default limit of 20G.