From c99c7862da980119fc9a51d18ab492bc03f00684 Mon Sep 17 00:00:00 2001 From: Juan Antonio Osorio Robles Date: Tue, 9 Aug 2016 10:27:15 +0300 Subject: 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 --- manifests/profile/base/sahara.pp | 19 ++++++++++++++++--- manifests/profile/base/sahara/api.pp | 3 ++- manifests/profile/base/sahara/engine.pp | 3 ++- 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 } } -- cgit 1.2.3-korg