Use resource collector for the fencing -> stonith ordering
authorMichele Baldessari <michele@acksyn.org>
Wed, 23 Aug 2017 15:45:41 +0000 (17:45 +0200)
committerMichele Baldessari <michele@acksyn.org>
Wed, 23 Aug 2017 15:55:09 +0000 (17:55 +0200)
Change Ifef08033043a4cc90a6261e962d2fdecdf275650 moved the stonith
property definition to the pacemaker_master node. This means that the
Class['tripleo::fencing'] -> Class['pacemaker::stonith'] ordering
breaks on non-boostrap pacemaker nodes because the pacemaker::stonith
property is not defined there any longer.

Let's fix this by simply using a resource collector and set the ordering
on that instead of adding yet anoth if statement. Ordering on
enablement of stonith is actually more correct formally.

Tested this on a broken setup successfully.

Closes-Bug: #1712605
Change-Id: I616d340bdf75da9d9eb8b83b2e804dff3d07d58e

manifests/profile/base/pacemaker.pp

index de7e069..77e4c3a 100644 (file)
@@ -141,7 +141,7 @@ class tripleo::profile::base::pacemaker (
       Pcmk_constraint<||> -> Class['tripleo::fencing']
       Exec <| tag == 'pacemaker_constraint' |> -> Class['tripleo::fencing']
       # enable stonith after all fencing devices have been created
-      Class['tripleo::fencing'] -> Class['pacemaker::stonith']
+      Class['tripleo::fencing'] -> Pcmk_property<|title == 'Enable STONITH'|>
     }
     # We have pacemaker remote nodes configured so let's add them as resources
     # We do this during step 1 right after wait-for-settle, because during step 2