aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYanis Guenane <yanis.guenane@enovance.com>2015-07-13 09:12:51 +0200
committerYanis Guenane <yguenane@redhat.com>2015-07-13 10:29:38 +0200
commite0ed4b315a5e12703a1e1dfc538863425e6ab81e (patch)
tree74ae70984e81c2c220e67b540f2a044c83834d4f
parentb7400f95a4c185c6c1b3294c11af828d799939d0 (diff)
Allow a user to disable MongoDB journaling
By default MongoDB enables a journaling system that prevents loss of data in case of an unexpected shut-down. When journaling is enabled, MongoDB will create the journal files before actually starting the daemon[1]. The journaling feature is useful in production environment, but not really on a CI-like system, where we only want to make sure MongoDB is setup correctly and running, hence here we allow a user to enable/disable MongoDB journaling. [1] http://docs.mongodb.org/manual/core/journaling/ Change-Id: I0e4e65af9f650c10fdf5155ff709b4eb984cf4e1 Closes-bug: #1468246
-rw-r--r--controller.yaml7
-rw-r--r--environments/mongodb-nojournal.yaml5
-rw-r--r--overcloud-without-mergepy.yaml5
-rw-r--r--puppet/controller-puppet.yaml6
-rw-r--r--puppet/hieradata/controller.yaml1
5 files changed, 24 insertions, 0 deletions
diff --git a/controller.yaml b/controller.yaml
index a22bb838..3990c0aa 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -365,6 +365,10 @@ parameters:
description: The password for the nova service and db account, used by nova-api.
type: string
hidden: true
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
NtpServer:
type: string
default: ''
@@ -673,6 +677,8 @@ resources:
host: {get_input: controller_virtual_ip}
metadata-proxy: true
service-password: {get_input: nova_password}
+ mongodb:
+ nojournal: {get_input: mongodb_no_journal}
rabbit:
host: {get_input: controller_virtual_ip}
username: {get_input: rabbit_username}
@@ -868,6 +874,7 @@ resources:
- '@'
- {get_param: VirtualIP}
- '/keystone'
+ mongodb_no_journal: {get_param: MongoDbNoJournal}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
mysql_root_password: {get_param: MysqlRootPassword}
mysql_cluster_name:
diff --git a/environments/mongodb-nojournal.yaml b/environments/mongodb-nojournal.yaml
new file mode 100644
index 00000000..1e13e452
--- /dev/null
+++ b/environments/mongodb-nojournal.yaml
@@ -0,0 +1,5 @@
+# A Heat environment file which can be used to disable journal in MongoDb.
+# Since, when journaling is enabled, MongoDb will create big journal file
+# it can take time. In a CI environment for example journaling is not necessary.
+parameters:
+ MongoDbNoJournal: true
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index 4258fe0d..88002381 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -174,6 +174,10 @@ parameters:
NtpServer:
type: string
default: ''
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
PublicVirtualFixedIPs:
default: []
description: >
@@ -757,6 +761,7 @@ resources:
NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
NovaPassword: {get_param: NovaPassword}
NtpServer: {get_param: NtpServer}
+ MongoDbNoJournal: {get_param: MongoDbNoJournal}
PcsdPassword: {get_resource: PcsdPassword}
PublicVirtualInterface: {get_param: PublicVirtualInterface}
RabbitPassword: {get_param: RabbitPassword}
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index 9f531efe..87880e19 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -374,6 +374,10 @@ parameters:
description: The password for the nova service and db account, used by nova-api.
type: string
hidden: true
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
NtpServer:
type: string
default: ''
@@ -768,6 +772,7 @@ resources:
rabbit_cookie: {get_param: RabbitCookie}
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
+ mongodb_no_journal: {get_param: MongoDbNoJournal}
ntp_servers:
str_replace:
template: '["server"]'
@@ -947,6 +952,7 @@ resources:
keystone::debug: {get_input: debug}
# MongoDB
mongodb::server::bind_ip: {get_input: mongo_db_network}
+ mongodb::server::nojournal: {get_input: mongodb_no_journal}
# MySQL
admin_password: {get_input: admin_password}
enable_galera: {get_input: enable_galera}
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index 72c10c26..3cc64971 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -22,6 +22,7 @@ rabbitmq_config_variables:
cluster_partition_handling: 'pause_minority'
mongodb::server::replset: tripleo
+mongodb::server::journal: false
redis::port: 6379
redis::sentinel::master_name: "%{hiera('bootstrap_nodeid')}"