1 {% set deploy_steps_max = 6 %}
3 {% for step in range(1, deploy_steps_max) %}
4 WorkflowTasks_Step{{step}}_Enabled:
6 {%- for role in roles %}
9 - get_param: [role_data, {{role.name}}, service_workflow_tasks, step{{step}}]
16 # Post deployment steps for all roles
17 # A single config is re-applied with an incrementing step number
18 {% for role in roles %}
19 # {{role.name}} Role post-deploy steps
20 {{role.name}}ArtifactsConfig:
21 type: deploy-artifacts.yaml
23 {{role.name}}ArtifactsDeploy:
24 type: OS::Heat::StructuredDeployments
26 servers: {get_param: [servers, {{role.name}}]}
27 config: {get_resource: {{role.name}}ArtifactsConfig}
29 {{role.name}}PreConfig:
30 type: OS::TripleO::Tasks::{{role.name}}PreConfig
32 servers: {get_param: [servers, {{role.name}}]}
34 update_identifier: {get_param: DeployIdentifier}
37 type: OS::TripleO::{{role.name}}Config
39 StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
41 # Step through a series of configuration steps
42 {% for step in range(1, deploy_steps_max) %}
43 {{role.name}}Deployment_Step{{step}}:
44 type: OS::Heat::StructuredDeploymentGroup
46 - WorkflowTasks_Step{{step}}_Execution
47 # TODO(gfidente): the following if/else condition
48 # replicates what is already defined for the
49 # WorkflowTasks_StepX resource and can be remove
50 # if https://bugs.launchpad.net/heat/+bug/1700569
53 {%- for dep in roles %}
54 - {{dep.name}}PreConfig
55 - {{dep.name}}ArtifactsDeploy
58 {%- for dep in roles %}
59 - {{dep.name}}Deployment_Step{{step -1}}
63 name: {{role.name}}Deployment_Step{{step}}
64 servers: {get_param: [servers, {{role.name}}]}
65 config: {get_resource: {{role.name}}Config}
68 update_identifier: {get_param: DeployIdentifier}
71 # Note, this should be the last step to execute configuration changes.
72 # Ensure that all {{role.name}}ExtraConfigPost steps are executed
73 # after all the previous deployment steps.
74 {{role.name}}ExtraConfigPost:
76 {%- for dep in roles %}
77 - {{dep.name}}Deployment_Step5
79 type: OS::TripleO::NodeExtraConfigPost
81 servers: {get_param: [servers, {{role.name}}]}
83 # The {{role.name}}PostConfig steps are in charge of
84 # quiescing all services, i.e. in the Controller case,
85 # we should run a full service reload.
86 {{role.name}}PostConfig:
87 type: OS::TripleO::Tasks::{{role.name}}PostConfig
89 {%- for dep in roles %}
90 - {{dep.name}}ExtraConfigPost
93 servers: {get_param: servers}
95 update_identifier: {get_param: DeployIdentifier}
100 # BEGIN service_workflow_tasks handling
101 {% for step in range(1, deploy_steps_max) %}
102 WorkflowTasks_Step{{step}}:
103 type: OS::Mistral::Workflow
104 condition: WorkflowTasks_Step{{step}}_Enabled
107 {%- for dep in roles %}
108 - {{dep.name}}PreConfig
109 - {{dep.name}}ArtifactsDeploy
112 {%- for dep in roles %}
113 - {{dep.name}}Deployment_Step{{step -1}}
117 name: {list_join: [".", ["tripleo", {get_param: stack_name}, "workflowtasks", "step{{step}}"]]}
121 expression: $.data.where($ != '').select($.get('step{{step}}')).where($ != null).flatten()
123 {%- for role in roles %}
124 - get_param: [role_data, {{role.name}}, service_workflow_tasks]
127 WorkflowTasks_Step{{step}}_Execution:
128 type: OS::Mistral::ExternalResource
129 condition: WorkflowTasks_Step{{step}}_Enabled
130 depends_on: WorkflowTasks_Step{{step}}
134 workflow: { get_resource: WorkflowTasks_Step{{step}} }
137 service_ips: { get_param: ctlplane_service_ips }
139 {%- for r in roles %}
140 {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]}
143 workflow: { get_resource: WorkflowTasks_Step{{step}} }
146 service_ips: { get_param: ctlplane_service_ips }
148 {%- for r in roles %}
149 {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]}
153 # END service_workflow_tasks handling