Make sure PrePuppet runs before any Deployment_Step
authorMichele Baldessari <michele@acksyn.org>
Fri, 17 Mar 2017 14:36:50 +0000 (15:36 +0100)
committerMichele Baldessari <michele@acksyn.org>
Fri, 17 Mar 2017 14:36:50 +0000 (15:36 +0100)
commitbae48e60b3cb9b5f21490997ca39c1e0e23fd195
tree92e12e334a6ea51951e5c460fe1a30760f986a3d
parent40573e9c9a07b2bd49b212b043052dec8b9a9016
Make sure PrePuppet runs before any Deployment_Step

We used to have this in mitaka:
https://github.com/openstack/tripleo-heat-templates/blob/stable/mitaka/puppet/controller-post.yaml#L45

but we lost it along the way. The problem without this change is that we
are open to the following race:
1) ControllerDeployment_Step1 is started and manages to do a successful
   "systemctl start pacemaker"
2) PrePuppet gets called and in the HA deployment calls
   pacemaker_maintenance_mode.sh
3) pacemaker_maintenance_mode.sh will set the maintenance-mode=true
   property because the pacemaker service is already up:
   https://github.com/openstack/tripleo-heat-templates/blob/master/extraconfig/tasks/pacemaker_maintenance_mode.sh#L8-L9
4) If the maintenance property is set to true at this stage, the
   creation of any resource will take place but they won't really
   start.

Change-Id: Icb7495edd00385b2975dd42f63085d20292ef9a9
Closes-Bug: #1673795
Co-Authored-By: Jiri Stransky <jstransk@redhat.com>
puppet/puppet-steps.j2