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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user