Generate Pre/Post Puppet Tasks for all roles
authorJames Slagle <jslagle@redhat.com>
Wed, 15 Feb 2017 18:13:36 +0000 (13:13 -0500)
committerJames Slagle <jslagle@redhat.com>
Fri, 17 Feb 2017 14:03:35 +0000 (09:03 -0500)
We need to generate the Pre and Post Puppet Tasks for all roles, not
just the Controller role. Otherwise, you have to have a role
specifically named Controller that is running your pacemaker services,
or pacemaker won't be properly handled on stack-updates.

When using deployed-server's it's actually not possible to have a role
called Controller, since we need to use all custom roles so that we can
set disable_contraints on each role. Further, it is not possible to
redefine the Controller role since puppet/controller-role.yaml is listed
in the excludes file.

Change-Id: I737b24db90932e292b50b122640f66385f2d1c23
Partial-Bug: #1665060

overcloud-resource-registry-puppet.j2.yaml
puppet/puppet-steps.j2

index 9a8de34..0fafc96 100644 (file)
@@ -69,8 +69,10 @@ resource_registry:
   OS::TripleO::NodeExtraConfig: puppet/extraconfig/pre_deploy/default.yaml
   OS::TripleO::NodeExtraConfigPost: extraconfig/post_deploy/default.yaml
 
-  OS::TripleO::Tasks::ControllerPrePuppet: OS::Heat::None
-  OS::TripleO::Tasks::ControllerPostPuppet: OS::Heat::None
+{% for role in roles %}
+  OS::TripleO::Tasks::{{role.name}}PrePuppet: OS::Heat::None
+  OS::TripleO::Tasks::{{role.name}}PostPuppet: OS::Heat::None
+{% endfor %}
 
   # "AllNodes" Extra cluster config, runs on all nodes prior to the post_deploy
   # phase, e.g when puppet is applied, but after the pre_deploy phase.  Useful when
index b517db6..581c4f0 100644 (file)
     properties:
       StepConfig: {list_join: ["\n", {get_param: [role_data, {{role.name}}, step_config]}]}
 
-  {% if role.name == 'Controller' %}
-  ControllerPrePuppet:
-    type: OS::TripleO::Tasks::ControllerPrePuppet
+  {{role.name}}PrePuppet:
+    type: OS::TripleO::Tasks::{{role.name}}PrePuppet
     properties:
-      servers: {get_param: [servers, Controller]}
+      servers: {get_param: [servers, {{role.name}}]}
       input_values:
         update_identifier: {get_param: DeployIdentifier}
-  {% endif %}
 
   {% if role.name in ['Controller', 'ObjectStorage'] %}
   {{role.name}}SwiftRingDeploy:
     properties:
         servers: {get_param: [servers, {{role.name}}]}
 
-  {% if role.name == 'Controller' %}
-  ControllerPostPuppet:
+  {{role.name}}PostPuppet:
     depends_on:
-      - ControllerExtraConfigPost
-    type: OS::TripleO::Tasks::ControllerPostPuppet
+      - {{role.name}}ExtraConfigPost
+    type: OS::TripleO::Tasks::{{role.name}}PostPuppet
     properties:
-      servers: {get_param: [servers, Controller]}
+      servers: {get_param: [servers, {{role.name}}]}
       input_values:
         update_identifier: {get_param: DeployIdentifier}
-  {% endif %}
 
   {% if role.name in ['Controller', 'ObjectStorage'] %}
   {{role.name}}SwiftRingUpdate: