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
This commit is contained in:
Juan Antonio Osorio Robles 2016-08-09 10:27:15 +03:00
parent ac6c502a69
commit c99c7862da
3 changed files with 20 additions and 5 deletions

View File

@ -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,
}
}
}

View File

@ -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
}
}

View File

@ -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
}
}