1 heat_template_version: ocata
4 Post-deploy configuration steps via puppet for all roles,
5 as defined in ../roles_data.yaml
10 description: Mapping of Role name e.g Controller to a list of servers
14 description: Mapping of Role name e.g Controller to the per-role data
20 Setting this to a unique value will re-run any deployment tasks which
21 perform configuration on a Heat stack-update.
25 {% for role in roles %}
26 # Post deployment steps for all roles
27 # A single config is re-applied with an incrementing step number
28 # {{role.name}} Role steps
29 {{role.name}}ArtifactsConfig:
30 type: ../puppet/deploy-artifacts.yaml
32 {{role.name}}ArtifactsDeploy:
33 type: OS::Heat::StructuredDeploymentGroup
35 servers: {get_param: [servers, {{role.name}}]}
36 config: {get_resource: {{role.name}}ArtifactsConfig}
38 {{role.name}}PreConfig:
39 type: OS::TripleO::Tasks::{{role.name}}PreConfig
41 servers: {get_param: [servers, {{role.name}}]}
43 update_identifier: {get_param: DeployIdentifier}
46 type: OS::TripleO::{{role.name}}Config
48 StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
49 {% if role.name.lower() == 'compute' %}
50 PuppetTags: {get_param: [role_data, {{role.name}}, puppet_tags]}
53 # Step through a series of configuration steps
54 {{role.name}}Deployment_Step1:
55 type: OS::Heat::StructuredDeploymentGroup
56 depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
58 name: {{role.name}}Deployment_Step1
59 servers: {get_param: [servers, {{role.name}}]}
60 config: {get_resource: {{role.name}}Config}
63 update_identifier: {get_param: DeployIdentifier}
65 {{role.name}}Deployment_Step2:
66 type: OS::Heat::StructuredDeploymentGroup
68 {% for dep in roles %}
69 - {{dep.name}}Deployment_Step1
72 name: {{role.name}}Deployment_Step2
73 servers: {get_param: [servers, {{role.name}}]}
74 config: {get_resource: {{role.name}}Config}
77 update_identifier: {get_param: DeployIdentifier}
79 {{role.name}}Deployment_Step3:
80 type: OS::Heat::StructuredDeploymentGroup
82 {% for dep in roles %}
83 - {{dep.name}}Deployment_Step2
86 name: {{role.name}}Deployment_Step3
87 servers: {get_param: [servers, {{role.name}}]}
88 config: {get_resource: {{role.name}}Config}
91 update_identifier: {get_param: DeployIdentifier}
93 {{role.name}}Deployment_Step4:
94 type: OS::Heat::StructuredDeploymentGroup
96 {% for dep in roles %}
97 - {{dep.name}}Deployment_Step3
100 name: {{role.name}}Deployment_Step4
101 servers: {get_param: [servers, {{role.name}}]}
102 config: {get_resource: {{role.name}}Config}
105 update_identifier: {get_param: DeployIdentifier}
107 {{role.name}}Deployment_Step5:
108 type: OS::Heat::StructuredDeploymentGroup
110 {% for dep in roles %}
111 - {{dep.name}}Deployment_Step4
114 name: {{role.name}}Deployment_Step5
115 servers: {get_param: [servers, {{role.name}}]}
116 config: {get_resource: {{role.name}}Config}
119 update_identifier: {get_param: DeployIdentifier}
121 {{role.name}}PostConfig:
122 type: OS::TripleO::Tasks::{{role.name}}PostConfig
124 {% for dep in roles %}
125 - {{dep.name}}Deployment_Step5
128 servers: {get_param: servers}
130 update_identifier: {get_param: DeployIdentifier}
132 # Note, this should come last, so use depends_on to ensure
133 # this is created after any other resources.
134 {{role.name}}ExtraConfigPost:
136 {% for dep in roles %}
137 - {{dep.name}}PostConfig
139 type: OS::TripleO::NodeExtraConfigPost
141 servers: {get_param: [servers, {{role.name}}]}
143 {% if role.name.lower() == 'compute' %}
145 type: OS::Heat::SoftwareConfig
146 depends_on: {{role.name}}PostConfig
151 config: {get_file: ../docker/copy-etc.sh}
154 type: OS::Heat::SoftwareDeploymentGroup
156 name: CopyEtcDeployment
157 servers: {get_param: [servers, {{role.name}}]}
158 config: {get_resource: CopyEtcConfig}
160 {{role.name}}KollaJsonConfig:
161 type: OS::Heat::StructuredConfig
162 depends_on: CopyEtcDeployment
166 {get_param: [role_data, {{role.name}}, kolla_config]}
168 {{role.name}}KollaJsonDeployment:
169 type: OS::Heat::SoftwareDeploymentGroup
171 name: {{role.name}}KollaJsonDeployment
172 config: {get_resource: {{role.name}}KollaJsonConfig}
173 servers: {get_param: [servers, {{role.name}}]}
175 {{role.name}}ContainersConfig_Step1:
176 type: OS::Heat::StructuredConfig
177 depends_on: {{role.name}}KollaJsonDeployment
181 {get_param: [role_data, {{role.name}}, docker_config, step_1]}
183 {{role.name}}ContainersConfig_Step2:
184 type: OS::Heat::StructuredConfig
185 depends_on: {{role.name}}KollaJsonDeployment
189 {get_param: [role_data, {{role.name}}, docker_config, step_2]}
191 {{role.name}}ContainersDeployment_Step1:
192 type: OS::Heat::StructuredDeploymentGroup
193 depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
195 name: {{role.name}}ContainersDeployment_Step1
196 servers: {get_param: [servers, {{role.name}}]}
197 config: {get_resource: {{role.name}}ContainersConfig_Step1}
199 {{role.name}}ContainersDeployment_Step2:
200 type: OS::Heat::StructuredDeploymentGroup
201 depends_on: {{role.name}}ContainersDeployment_Step1
203 name: {{role.name}}ContainersDeployment_Step2
204 servers: {get_param: [servers, {{role.name}}]}
205 config: {get_resource: {{role.name}}ContainersConfig_Step2}