summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>2016-08-09 10:27:15 +0300
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>2016-08-09 16:42:06 +0300
commitc99c7862da980119fc9a51d18ab492bc03f00684 (patch)
treefcb8555e1dbae47b247e88e2a4a94db0cd2703d5
parentac6c502a69bef7f00633499e2d21b3ec756c21ae (diff)
Only db-sync sahara is included in the bootstrapnode
Currently, sahara's db-sync is run on every node. We should instead run it if we're on the bootstrap node as race conditions may occur and these will cause issues. Change-Id: I5db281caae17402ff198cb4cd46304338d98c52e
-rw-r--r--manifests/profile/base/sahara.pp19
-rw-r--r--manifests/profile/base/sahara/api.pp3
-rw-r--r--manifests/profile/base/sahara/engine.pp3
3 files changed, 20 insertions, 5 deletions
diff --git a/manifests/profile/base/sahara.pp b/manifests/profile/base/sahara.pp
index befb5d3..96d23a6 100644
--- a/manifests/profile/base/sahara.pp
+++ b/manifests/profile/base/sahara.pp
@@ -18,14 +18,27 @@
#
# === Parameters
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step of the deployment
# Defaults to hiera('step')
#
class tripleo::profile::base::sahara (
- $step = hiera('step'),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
- if $step >= 4 {
- include ::sahara
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
+
+ if $step >= 4 or ($step >= 3 and $sync_db){
+ class { '::sahara':
+ sync_db => $sync_db,
+ }
}
}
diff --git a/manifests/profile/base/sahara/api.pp b/manifests/profile/base/sahara/api.pp
index dc23d64..27e0390 100644
--- a/manifests/profile/base/sahara/api.pp
+++ b/manifests/profile/base/sahara/api.pp
@@ -26,8 +26,9 @@
class tripleo::profile::base::sahara::api (
$step = hiera('step'),
) {
+ include ::tripleo::profile::base::sahara
+
if $step >= 4 {
- include ::tripleo::profile::base::sahara
include ::sahara::service::api
}
}
diff --git a/manifests/profile/base/sahara/engine.pp b/manifests/profile/base/sahara/engine.pp
index f792a96..2d41e75 100644
--- a/manifests/profile/base/sahara/engine.pp
+++ b/manifests/profile/base/sahara/engine.pp
@@ -37,12 +37,13 @@ class tripleo::profile::base::sahara::engine (
$sync_db = false
}
+ include ::tripleo::profile::base::sahara
+
if $step >= 3 and $sync_db {
include ::sahara::db::mysql
}
if $step >= 4 or ($step >= 3 and $sync_db) {
- include ::tripleo::profile::base::sahara
include ::sahara::service::engine
}
}