aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/glance
diff options
context:
space:
mode:
authorMichele Baldessari <michele@acksyn.org>2016-07-13 16:30:45 -0400
committerMichele Baldessari <michele@acksyn.org>2016-07-18 21:45:25 +0200
commit5927148c4b5813180204c2983b5c95b69a2ad265 (patch)
treefd901117f33fe45e5e988c3de3432268548080e9 /manifests/profile/base/glance
parent4f0582ea40b6d1d2330bfd7683ab40852ed09403 (diff)
Make ::tripleo::profile::base classes work with multiple nodes
In the Next Generation HA architecture a number of active/active services will be run via systemd. In order for this to work we need to make sure that the sync_db operation only takes place on the bootstrap node, just like it is done today for the pacemaker profiles. We do this by removing sync_db as a parameter and instead set it to true or false depending if the hostname matches the bootstrap_node as it is done today in the pacemaker role. Note that we call hiera('bootstrap_nodeid', undef) because if a profile is included on a non controller node that variable will be undefined. The following testing was done: - HA puppet-pacemaker.yaml scenario with three computes - NonHA with one controller - NonHA with three controllers Fixes-Bug: 1600149 Co-Author: cmsj@tenshu.net Change-Id: I04a7b9e3c18627ea512000a34357acb7f27d6e0e Implements: blueprint ha-lightweight-architecture
Diffstat (limited to 'manifests/profile/base/glance')
-rw-r--r--manifests/profile/base/glance/registry.pp15
1 files changed, 10 insertions, 5 deletions
diff --git a/manifests/profile/base/glance/registry.pp b/manifests/profile/base/glance/registry.pp
index 774f646..ce89d12 100644
--- a/manifests/profile/base/glance/registry.pp
+++ b/manifests/profile/base/glance/registry.pp
@@ -18,9 +18,9 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
@@ -30,12 +30,17 @@
# [*glance_backend*]
# (Optional) Glance backend(s) to use.
# Defaults to downcase(hiera('glance_backend', 'swift'))
-#
+
class tripleo::profile::base::glance::registry (
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
$glance_backend = downcase(hiera('glance_backend', 'swift')),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
if $step >= 3 and $sync_db {
include ::glance::db::mysql