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 name: {{role.name}}ArtifactsDeploy
27 servers: {get_param: [servers, {{role.name}}]}
28 config: {get_resource: {{role.name}}ArtifactsConfig}
30 {{role.name}}PreConfig:
31 type: OS::TripleO::Tasks::{{role.name}}PreConfig
33 servers: {get_param: [servers, {{role.name}}]}
35 update_identifier: {get_param: DeployIdentifier}
38 type: OS::TripleO::{{role.name}}Config
40 StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
42 # Step through a series of configuration steps
43 {% for step in range(1, deploy_steps_max) %}
44 {{role.name}}Deployment_Step{{step}}:
45 type: OS::Heat::StructuredDeploymentGroup
47 - WorkflowTasks_Step{{step}}_Execution
48 # TODO(gfidente): the following if/else condition
49 # replicates what is already defined for the
50 # WorkflowTasks_StepX resource and can be remove
51 # if https://bugs.launchpad.net/heat/+bug/1700569
54 {%- for dep in roles %}
55 - {{dep.name}}PreConfig
56 - {{dep.name}}ArtifactsDeploy
59 {%- for dep in roles %}
60 - {{dep.name}}Deployment_Step{{step -1}}
64 name: {{role.name}}Deployment_Step{{step}}
65 servers: {get_param: [servers, {{role.name}}]}
66 config: {get_resource: {{role.name}}Config}
69 update_identifier: {get_param: DeployIdentifier}
72 # Note, this should be the last step to execute configuration changes.
73 # Ensure that all {{role.name}}ExtraConfigPost steps are executed
74 # after all the previous deployment steps.
75 {{role.name}}ExtraConfigPost:
77 {%- for dep in roles %}
78 - {{dep.name}}Deployment_Step5
80 type: OS::TripleO::NodeExtraConfigPost
82 servers: {get_param: [servers, {{role.name}}]}
84 # The {{role.name}}PostConfig steps are in charge of
85 # quiescing all services, i.e. in the Controller case,
86 # we should run a full service reload.
87 {{role.name}}PostConfig:
88 type: OS::TripleO::Tasks::{{role.name}}PostConfig
90 {%- for dep in roles %}
91 - {{dep.name}}ExtraConfigPost
94 servers: {get_param: servers}
96 update_identifier: {get_param: DeployIdentifier}
101 # BEGIN service_workflow_tasks handling
102 {% for step in range(1, deploy_steps_max) %}
103 WorkflowTasks_Step{{step}}:
104 type: OS::Mistral::Workflow
105 condition: WorkflowTasks_Step{{step}}_Enabled
108 {%- for dep in roles %}
109 - {{dep.name}}PreConfig
110 - {{dep.name}}ArtifactsDeploy
113 {%- for dep in roles %}
114 - {{dep.name}}Deployment_Step{{step -1}}
118 name: {list_join: [".", ["tripleo", {get_param: stack_name}, "workflowtasks", "step{{step}}"]]}
122 expression: $.data.where($ != '').select($.get('step{{step}}')).where($ != null).flatten()
124 {%- for role in roles %}
125 - get_param: [role_data, {{role.name}}, service_workflow_tasks]
128 WorkflowTasks_Step{{step}}_Execution:
129 type: OS::Mistral::ExternalResource
130 condition: WorkflowTasks_Step{{step}}_Enabled
131 depends_on: WorkflowTasks_Step{{step}}
135 workflow: { get_resource: WorkflowTasks_Step{{step}} }
138 service_ips: { get_param: ctlplane_service_ips }
140 {%- for r in roles %}
141 {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]}
145 workflow: { get_resource: WorkflowTasks_Step{{step}} }
148 service_ips: { get_param: ctlplane_service_ips }
150 {%- for r in roles %}
151 {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]}
156 # END service_workflow_tasks handling