Fix use of bootstrap_node in cinder base profile
authorGiulio Fidente <gfidente@redhat.com>
Mon, 8 Aug 2016 11:32:33 +0000 (13:32 +0200)
committerGiulio Fidente <gfidente@redhat.com>
Tue, 9 Aug 2016 11:30:13 +0000 (13:30 +0200)
By inspecting bootstrap_nodeid in cinder base profile we can
set sync_db appropriately and not always default to true.

Change-Id: I2484b1d70a17436c0d8eab9ea8df927d57783784

manifests/profile/base/cinder.pp
manifests/profile/base/cinder/api.pp
manifests/profile/base/database/mongodbcommon.pp
manifests/profile/base/heat.pp

index 8f252d4..43d95b4 100644 (file)
 #
 # === Parameters
 #
+# [*bootstrap_node*]
+#   (Optional) The hostname of the node responsible for bootstrapping tasks
+#   Defaults to hiera('bootstrap_nodeid')
+#
 # [*cinder_enable_db_purge*]
 #   (Optional) Wheter to enable db purging
 #   Defaults to true
 #
-# [*pacemaker_master*]
-#   (Optional) The master node runs some tasks
-#   one step earlier than others; disable to
-#   the node is not the master.
-#   Defaults to true
-#
 # [*step*]
 #   (Optional) The current step of the deployment
 #   Defaults to hiera('step')
 #
 class tripleo::profile::base::cinder (
+  $bootstrap_node         = hiera('bootstrap_nodeid', undef),
   $cinder_enable_db_purge = true,
-  $pacemaker_master       = true,
   $step                   = hiera('step'),
 ) {
-  if $step >= 4 or ($step >= 3 and $pacemaker_master) {
+  if $::hostname == downcase($bootstrap_node) {
+    $sync_db = true
+  } else {
+    $sync_db = false
+  }
+
+  if $step >= 4 or ($step >= 3 and $sync_db) {
     include ::cinder
     include ::cinder::config
   }
index e15e112..370b402 100644 (file)
@@ -37,9 +37,7 @@ class tripleo::profile::base::cinder::api (
     $sync_db = false
   }
 
-  class { '::tripleo::profile::base::cinder':
-    pacemaker_master => $sync_db,
-  }
+  include ::tripleo::profile::base::cinder
 
   if $step >= 3 and $sync_db {
     include ::cinder::db::mysql
index 756ab85..13af899 100644 (file)
@@ -31,8 +31,7 @@ class tripleo::profile::base::database::mongodbcommon (
 ) {
   $port = '27017'
 
-  # NOTE(gfidente): the following vars are needed on all nodes so they
-  # need to stay out of pacemaker_master conditional.
+  # NOTE(gfidente): the following vars are needed on all nodes.
   # The addresses mangling will hopefully go away when we'll be able to
   # configure the connection string via hostnames, until then, we need to pass
   # the list of IPv6 addresses *with* port and without the brackets as 'members'
index 8512d6e..dcf0f21 100644 (file)
@@ -18,8 +18,8 @@
 #
 # === Parameters
 #
-# [*bootstrap_master*]
-#   (Optional) The hostname of the node responsible for bootstrapping
+# [*bootstrap_node*]
+#   (Optional) The hostname of the node responsible for bootstrapping tasks
 #   Defaults to downcase(hiera('bootstrap_nodeid'))
 #
 # [*manage_db_purge*]
 #   Defaults to hiera('step')
 #
 class tripleo::profile::base::heat (
-  $bootstrap_master    = downcase(hiera('bootstrap_nodeid')),
+  $bootstrap_node      = downcase(hiera('bootstrap_nodeid')),
   $manage_db_purge     = hiera('heat_enable_db_purge', true),
   $notification_driver = 'messaging',
   $step                = hiera('step'),
 ) {
-  # Domain resources will be created at step5 on the pacemaker_master so we
+  # Domain resources will be created at step5 on the bootstrap_node so we
   # configure heat.conf at step3 and 4 but actually create the domain later.
   if $step == 3 or $step == 4 {
     class { '::heat::keystone::domain':
@@ -62,7 +62,7 @@ class tripleo::profile::base::heat (
     if $manage_db_purge {
       include ::heat::cron::purge_deleted
     }
-    if $bootstrap_master == $::hostname {
+    if $bootstrap_node == $::hostname {
       # Class ::heat::keystone::domain has to run on bootstrap node
       # because it creates DB entities via API calls.
       include ::heat::keystone::domain