diff options
author | Emilien Macchi <emilien@redhat.com> | 2016-06-18 13:57:21 -0400 |
---|---|---|
committer | Emilien Macchi <emilien@redhat.com> | 2016-06-18 14:25:34 -0400 |
commit | 687b03b333d4a367ae476c0521473d9d24025d2d (patch) | |
tree | 57adab96ec4bf43159b5512b891b5f0e27d71748 /manifests/profile | |
parent | 3594a30a53cf48cf65cb2a04cabd1c11c51823c4 (diff) |
keystone: fix a race condition in bootstrap
Before, we had bootstrap_master set to 'undef' by default that was
used to whether or not run keystone bootstrap exec during deployment.
Setting the value to undef was a mistake, because enable_bootstrap in
puppet-keystone is set to true by default, so bootstrap was running
on all controllers at step 4 for HA scenario, while we want it to run on
a single controller (pacemaker_master) at step 4, like we do for
db-sync.
This patch:
* removes bootstrap_master.
* re-use sync_db to whether or not run keystone bootstrap.
so it will only run on a single node when database is ready and
db-sync done (orchestration dones by anchors in puppet-keystone).
Change-Id: I1042862f7c346d1c358b908c33eae0f33afd5e9f
Diffstat (limited to 'manifests/profile')
-rw-r--r-- | manifests/profile/base/keystone.pp | 17 | ||||
-rw-r--r-- | manifests/profile/pacemaker/keystone.pp | 7 |
2 files changed, 9 insertions, 15 deletions
diff --git a/manifests/profile/base/keystone.pp b/manifests/profile/base/keystone.pp index a5060b8..706b78f 100644 --- a/manifests/profile/base/keystone.pp +++ b/manifests/profile/base/keystone.pp @@ -22,10 +22,6 @@ # (Optional) Whether to run db sync # Defaults to true # -# [*bootstrap_master*] -# (Optional) The hostname of the node responsible for bootstrapping -# Defaults to hiera('bootstrap_nodeid') -# # [*manage_roles*] # (Optional) whether to create keystone admin role # Defaults to true @@ -44,12 +40,11 @@ # Defaults to hiera('step') # class tripleo::profile::base::keystone ( - $sync_db = true, - $bootstrap_master = undef, - $manage_roles = true, - $manage_endpoint = true, - $manage_db_purge = hiera('keystone_enable_db_purge', true), - $step = hiera('step'), + $sync_db = true, + $manage_roles = true, + $manage_endpoint = true, + $manage_db_purge = hiera('keystone_enable_db_purge', true), + $step = hiera('step'), ) { if $step >= 3 and $sync_db { @@ -59,7 +54,7 @@ class tripleo::profile::base::keystone ( if $step >= 4 or ( $step >= 3 and $sync_db ) { class { '::keystone': sync_db => $sync_db, - enable_bootstrap => $bootstrap_master, + enable_bootstrap => $sync_db, } include ::keystone::config diff --git a/manifests/profile/pacemaker/keystone.pp b/manifests/profile/pacemaker/keystone.pp index 42c44d4..497d6f3 100644 --- a/manifests/profile/pacemaker/keystone.pp +++ b/manifests/profile/pacemaker/keystone.pp @@ -59,10 +59,9 @@ class tripleo::profile::pacemaker::keystone ( } class { '::tripleo::profile::base::keystone': - sync_db => $pacemaker_master, - bootstrap_master => $pacemaker_master, - manage_roles => $manage_roles, - manage_endpoint => $manage_roles + sync_db => $pacemaker_master, + manage_roles => $manage_roles, + manage_endpoint => $manage_roles } if $step >= 5 and $pacemaker_master and $enable_load_balancer { |