keystone::public_bind_host: {get_input: controller_host}
                 keystone::admin_bind_host: {get_input: controller_host}
                 keystone::debug: {get_input: debug}
-
+                # MongoDB
+                mongodb::server::bind_ip: {get_input: controller_host}
                 # MySQL
                 admin_password: {get_input: admin_password}
                 enable_galera: {get_input: enable_galera}
 
 rabbitmq::package_source: undef
 rabbitmq::repos_ensure: false
 
+mongodb::server::replset: tripleo
+
 # service tenant
 nova::api::admin_tenant_name: 'service'
 glance::api::keystone_tenant: 'service'
 
     include ::ntp
   }
 
+  # MongoDB
+  include ::mongodb::globals
+  include ::mongodb::server
+  $mongo_node_ips = split(downcase(hiera('mongo_node_ips')), ',')
+  $mongo_node_ips_with_port = suffix($mongo_node_ips, ':27017')
+
+  if count($mongo_node_ips) > 1 {
+    if downcase($::hostname) == hiera('bootstrap_nodeid') {
+      $mongodb_replset = hiera('mongodb::server::replset')
+      mongodb_replset { $mongodb_replset :
+        members => $mongo_node_ips_with_port,
+      }
+    }
+  }
+
   if str2bool(hiera('enable_galera', 'true')) {
     $mysql_config_file = '/etc/my.cnf.d/galera.cnf'
   } else {