diff options
author | Michele Baldessari <michele@acksyn.org> | 2017-01-17 18:17:38 +0100 |
---|---|---|
committer | Michele Baldessari <michele@acksyn.org> | 2017-01-18 11:53:16 +0100 |
commit | bf68fa9683ee30cc2ebdf624f47e82a4fcceb746 (patch) | |
tree | ca2690f895cf3ab53db5eb428816bfb8995006a2 /manifests/profile/base | |
parent | 7c4e17059bf44c01a7b7023fdd93ed9d17c730ac (diff) |
Do not depend on bootstrap_nodeid for any pacemaker profile
When we create a pacemaker resource it must happen from a single node.
If it happens from multiple nodes an immediate error will be returned by
pcs.
For the pacemaker roles we enforce this by leveraging the recently
introduced <SERVICE_NAME_bootstrap_short_node_name> which gives us
the first hostname per-service, regardless of the role.
(introduced via I03e8685f939e8ae1fcd8b16883b559615042505d)
With this approach if a pacemaker service belongs to two different
roles (say role Controller on node A and role galera on node B), it
will only create the resource from one of the two and not both (which
would return an error).
Only setting Partial-Bug for this one, because it addresses the issue
from the pacemaker resource creation POV (which is always affected). But
the issue itself is a race that we're theoretically affected by since
the composable roles work landed. While I have tried to fix the more
general case in previous attempts, I think it is best if we start a
discussion on how to fix it, because each approach has a bunch of
potential drawbacks and is quite invasive on how we do things. A
discussion slot for this has been proposed for the Atlanta PTG.
Change-Id: I662398cab60d523d204b57a5674ca8f5c0f2e68a
Partial-Bug: #1615983
Diffstat (limited to 'manifests/profile/base')
-rw-r--r-- | manifests/profile/base/pacemaker.pp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/manifests/profile/base/pacemaker.pp b/manifests/profile/base/pacemaker.pp index 19eb52b..671f1e7 100644 --- a/manifests/profile/base/pacemaker.pp +++ b/manifests/profile/base/pacemaker.pp @@ -31,7 +31,7 @@ class tripleo::profile::base::pacemaker ( try_sleep => 3, } - if $::hostname == downcase(hiera('bootstrap_nodeid')) { + if $::hostname == downcase(hiera('pacemaker_short_bootstrap_node_name')) { $pacemaker_master = true } else { $pacemaker_master = false |