From 5927148c4b5813180204c2983b5c95b69a2ad265 Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Wed, 13 Jul 2016 16:30:45 -0400 Subject: 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 --- manifests/profile/pacemaker/nova/api.pp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'manifests/profile/pacemaker/nova/api.pp') diff --git a/manifests/profile/pacemaker/nova/api.pp b/manifests/profile/pacemaker/nova/api.pp index 30ab733..8a6dc8d 100644 --- a/manifests/profile/pacemaker/nova/api.pp +++ b/manifests/profile/pacemaker/nova/api.pp @@ -42,9 +42,7 @@ class tripleo::profile::pacemaker::nova::api ( stop => '/bin/true', } - class { '::tripleo::profile::base::nova::api': - sync_db => (downcase($::hostname) == $pacemaker_master), - } + include ::tripleo::profile::base::nova::api if $step >= 5 and downcase($::hostname) == $pacemaker_master { pacemaker::resource::service { $::nova::params::api_service_name: -- cgit 1.2.3-korg