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
#
# === 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,
+ }
}
}
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
}
}
$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
}
}