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
13 description: Mapping of Role name e.g Controller to the per-role data
19 Setting this to a unique value will re-run any deployment tasks which
20 perform configuration on a Heat stack-update.
23 description: Mapping of service endpoint -> protocol. Typically set
24 via parameter_defaults in the resource registry.
29 {% for role in roles %}
30 # Post deployment steps for all roles
31 # A single config is re-applied with an incrementing step number
32 # {{role.name}} Role steps
33 {{role.name}}ArtifactsConfig:
34 type: ../puppet/deploy-artifacts.yaml
36 {{role.name}}ArtifactsDeploy:
37 type: OS::Heat::StructuredDeploymentGroup
39 servers: {get_param: [servers, {{role.name}}]}
40 config: {get_resource: {{role.name}}ArtifactsConfig}
42 {{role.name}}PreConfig:
43 type: OS::TripleO::Tasks::{{role.name}}PreConfig
45 servers: {get_param: [servers, {{role.name}}]}
47 update_identifier: {get_param: DeployIdentifier}
50 type: OS::TripleO::{{role.name}}Config
52 StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
53 {% if role.name.lower() == 'compute' %}
54 PuppetTags: {get_param: [role_data, {{role.name}}, puppet_tags]}
57 # Step through a series of configuration steps
58 {{role.name}}Deployment_Step1:
59 type: OS::Heat::StructuredDeploymentGroup
60 depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
62 name: {{role.name}}Deployment_Step1
63 servers: {get_param: [servers, {{role.name}}]}
64 config: {get_resource: {{role.name}}Config}
67 update_identifier: {get_param: DeployIdentifier}
69 {{role.name}}Deployment_Step2:
70 type: OS::Heat::StructuredDeploymentGroup
72 {% for dep in roles %}
73 - {{dep.name}}Deployment_Step1
76 name: {{role.name}}Deployment_Step2
77 servers: {get_param: [servers, {{role.name}}]}
78 config: {get_resource: {{role.name}}Config}
81 update_identifier: {get_param: DeployIdentifier}
83 {{role.name}}Deployment_Step3:
84 type: OS::Heat::StructuredDeploymentGroup
86 {% for dep in roles %}
87 - {{dep.name}}Deployment_Step2
90 name: {{role.name}}Deployment_Step3
91 servers: {get_param: [servers, {{role.name}}]}
92 config: {get_resource: {{role.name}}Config}
95 update_identifier: {get_param: DeployIdentifier}
97 {{role.name}}Deployment_Step4:
98 type: OS::Heat::StructuredDeploymentGroup
100 {% for dep in roles %}
101 - {{dep.name}}Deployment_Step3
104 name: {{role.name}}Deployment_Step4
105 servers: {get_param: [servers, {{role.name}}]}
106 config: {get_resource: {{role.name}}Config}
109 update_identifier: {get_param: DeployIdentifier}
111 {{role.name}}Deployment_Step5:
112 type: OS::Heat::StructuredDeploymentGroup
114 {% for dep in roles %}
115 - {{dep.name}}Deployment_Step4
118 name: {{role.name}}Deployment_Step5
119 servers: {get_param: [servers, {{role.name}}]}
120 config: {get_resource: {{role.name}}Config}
123 update_identifier: {get_param: DeployIdentifier}
125 {{role.name}}PostConfig:
126 type: OS::TripleO::Tasks::{{role.name}}PostConfig
128 {% for dep in roles %}
129 - {{dep.name}}Deployment_Step5
132 servers: {get_param: servers}
134 update_identifier: {get_param: DeployIdentifier}
136 # Note, this should come last, so use depends_on to ensure
137 # this is created after any other resources.
138 {{role.name}}ExtraConfigPost:
140 {% for dep in roles %}
141 - {{dep.name}}PostConfig
143 type: OS::TripleO::NodeExtraConfigPost
145 servers: {get_param: [servers, {{role.name}}]}
147 {% if role.name.lower() == 'compute' %}
149 type: OS::Heat::SoftwareConfig
150 depends_on: {{role.name}}PostConfig
155 config: {get_file: ../docker/copy-etc.sh}
158 type: OS::Heat::SoftwareDeploymentGroup
160 name: CopyEtcDeployment
161 servers: {get_param: [servers, {{role.name}}]}
162 config: {get_resource: CopyEtcConfig}
164 {{role.name}}KollaJsonConfig:
165 type: OS::Heat::StructuredConfig
166 depends_on: CopyEtcDeployment
170 {get_param: [role_data, {{role.name}}, kolla_config]}
172 {{role.name}}KollaJsonDeployment:
173 type: OS::Heat::SoftwareDeploymentGroup
175 name: {{role.name}}KollaJsonDeployment
176 config: {get_resource: {{role.name}}KollaJsonConfig}
177 servers: {get_param: [servers, {{role.name}}]}
179 {{role.name}}ContainersConfig_Step1:
180 type: OS::Heat::StructuredConfig
181 depends_on: {{role.name}}KollaJsonDeployment
185 {get_param: [role_data, {{role.name}}, docker_config, step_1]}
187 {{role.name}}ContainersConfig_Step2:
188 type: OS::Heat::StructuredConfig
189 depends_on: {{role.name}}KollaJsonDeployment
193 {get_param: [role_data, {{role.name}}, docker_config, step_2]}
195 {{role.name}}ContainersDeployment_Step1:
196 type: OS::Heat::StructuredDeploymentGroup
197 depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
199 name: {{role.name}}ContainersDeployment_Step1
200 servers: {get_param: [servers, {{role.name}}]}
201 config: {get_resource: {{role.name}}ContainersConfig_Step1}
203 {{role.name}}ContainersDeployment_Step2:
204 type: OS::Heat::StructuredDeploymentGroup
205 depends_on: {{role.name}}ContainersDeployment_Step1
207 name: {{role.name}}ContainersDeployment_Step2
208 servers: {get_param: [servers, {{role.name}}]}
209 config: {get_resource: {{role.name}}ContainersConfig_Step2}