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 # Note, this should be the last step to execute configuration changes.
126 # Ensure that all {{role.name}}ExtraConfigPost steps are executed
127 # after all the previous deployment steps.
128 {{role.name}}ExtraConfigPost:
130 {% for dep in roles %}
131 - {{dep.name}}Deployment_Step5
133 type: OS::TripleO::NodeExtraConfigPost
135 servers: {get_param: [servers, {{role.name}}]}
137 # The {{role.name}}PostConfig steps are in charge of
138 # quiescing all services, i.e. in the Controller case,
139 # we should run a full service reload.
140 {{role.name}}PostConfig:
141 type: OS::TripleO::Tasks::{{role.name}}PostConfig
143 {% for dep in roles %}
144 - {{dep.name}}ExtraConfigPost
147 servers: {get_param: servers}
149 update_identifier: {get_param: DeployIdentifier}
151 {% if role.name.lower() == 'compute' %}
153 type: OS::Heat::SoftwareConfig
154 depends_on: {{role.name}}PostConfig
159 config: {get_file: ../docker/copy-etc.sh}
162 type: OS::Heat::SoftwareDeploymentGroup
164 name: CopyEtcDeployment
165 servers: {get_param: [servers, {{role.name}}]}
166 config: {get_resource: CopyEtcConfig}
168 {{role.name}}KollaJsonConfig:
169 type: OS::Heat::StructuredConfig
170 depends_on: CopyEtcDeployment
174 {get_param: [role_data, {{role.name}}, kolla_config]}
176 {{role.name}}KollaJsonDeployment:
177 type: OS::Heat::SoftwareDeploymentGroup
179 name: {{role.name}}KollaJsonDeployment
180 config: {get_resource: {{role.name}}KollaJsonConfig}
181 servers: {get_param: [servers, {{role.name}}]}
183 {{role.name}}ContainersConfig_Step1:
184 type: OS::Heat::StructuredConfig
185 depends_on: {{role.name}}KollaJsonDeployment
189 {get_param: [role_data, {{role.name}}, docker_config, step_1]}
191 {{role.name}}ContainersConfig_Step2:
192 type: OS::Heat::StructuredConfig
193 depends_on: {{role.name}}KollaJsonDeployment
197 {get_param: [role_data, {{role.name}}, docker_config, step_2]}
199 {{role.name}}ContainersDeployment_Step1:
200 type: OS::Heat::StructuredDeploymentGroup
201 depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
203 name: {{role.name}}ContainersDeployment_Step1
204 servers: {get_param: [servers, {{role.name}}]}
205 config: {get_resource: {{role.name}}ContainersConfig_Step1}
207 {{role.name}}ContainersDeployment_Step2:
208 type: OS::Heat::StructuredDeploymentGroup
209 depends_on: {{role.name}}ContainersDeployment_Step1
211 name: {{role.name}}ContainersDeployment_Step2
212 servers: {get_param: [servers, {{role.name}}]}
213 config: {get_resource: {{role.name}}ContainersConfig_Step2}