diff options
author | Michele Baldessari <michele@acksyn.org> | 2016-07-13 16:30:45 -0400 |
---|---|---|
committer | Michele Baldessari <michele@acksyn.org> | 2016-07-18 21:45:25 +0200 |
commit | 5927148c4b5813180204c2983b5c95b69a2ad265 (patch) | |
tree | fd901117f33fe45e5e988c3de3432268548080e9 /manifests/profile/base/gnocchi/api.pp | |
parent | 4f0582ea40b6d1d2330bfd7683ab40852ed09403 (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/gnocchi/api.pp')
-rw-r--r-- | manifests/profile/base/gnocchi/api.pp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/manifests/profile/base/gnocchi/api.pp b/manifests/profile/base/gnocchi/api.pp index d415ee9..870a9bb 100644 --- a/manifests/profile/base/gnocchi/api.pp +++ b/manifests/profile/base/gnocchi/api.pp @@ -22,20 +22,25 @@ # (Optional) Gnocchi backend string file, swift or rbd # Defaults to swift # +# [*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 # for more details. # Defaults to hiera('step') -# -# [*sync_db*] -# (Optional) Whether to run db sync -# Defaults to undef class tripleo::profile::base::gnocchi::api ( $gnocchi_backend = downcase(hiera('gnocchi_backend', 'swift')), + $bootstrap_node = hiera('bootstrap_nodeid', undef), $step = hiera('step'), - $sync_db = true, ) { + if $::hostname == downcase($bootstrap_node) { + $sync_db = true + } else { + $sync_db = false + } include ::tripleo::profile::base::gnocchi |