Merge "Revert "Adjust MTU to compensate for VLAN tag issue""
[apex-tripleo-heat-templates.git] / puppet / post.j2.yaml
1 heat_template_version: 2016-10-14
2
3 description: >
4   Post-deploy configuration steps via puppet for all roles,
5   as defined in ../roles_data.yaml
6
7 parameters:
8   servers:
9     type: json
10     description: Mapping of Role name e.g Controller to a list of servers
11
12   role_data:
13     type: json
14     description: Mapping of Role name e.g Controller to the per-role data
15
16   DeployIdentifier:
17     default: ''
18     type: string
19     description: >
20       Setting this to a unique value will re-run any deployment tasks which
21       perform configuration on a Heat stack-update.
22
23 resources:
24
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: deploy-artifacts.yaml
31
32   {{role.name}}ArtifactsDeploy:
33     type: OS::Heat::StructuredDeployments
34     properties:
35       servers:  {get_param: [servers, {{role.name}}]}
36       config: {get_resource: {{role.name}}ArtifactsConfig}
37
38   {{role.name}}PreConfig:
39     type: OS::TripleO::Tasks::{{role.name}}PreConfig
40     properties:
41       servers: {get_param: [servers, {{role.name}}]}
42       input_values:
43         update_identifier: {get_param: DeployIdentifier}
44
45   {{role.name}}Config:
46     type: OS::TripleO::{{role.name}}Config
47     properties:
48       StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
49
50   {% if role.name == 'Controller' %}
51   ControllerPrePuppet:
52     type: OS::TripleO::Tasks::ControllerPrePuppet
53     properties:
54       servers: {get_param: [servers, Controller]}
55       input_values:
56         update_identifier: {get_param: DeployIdentifier}
57   {% endif %}
58
59   # Step through a series of configuration steps
60   {{role.name}}Deployment_Step1:
61     type: OS::Heat::StructuredDeploymentGroup
62     depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
63     properties:
64       name: {{role.name}}Deployment_Step1
65       servers: {get_param: [servers, {{role.name}}]}
66       config: {get_resource: {{role.name}}Config}
67       input_values:
68         step: 1
69         update_identifier: {get_param: DeployIdentifier}
70
71   {{role.name}}Deployment_Step2:
72     type: OS::Heat::StructuredDeploymentGroup
73     depends_on:
74   {% for dep in roles %}
75       - {{dep.name}}Deployment_Step1
76   {% endfor %}
77     properties:
78       name: {{role.name}}Deployment_Step2
79       servers: {get_param: [servers, {{role.name}}]}
80       config: {get_resource: {{role.name}}Config}
81       input_values:
82         step: 2
83         update_identifier: {get_param: DeployIdentifier}
84
85   {{role.name}}Deployment_Step3:
86     type: OS::Heat::StructuredDeploymentGroup
87     depends_on:
88   {% for dep in roles %}
89       - {{dep.name}}Deployment_Step2
90   {% endfor %}
91     properties:
92       name: {{role.name}}Deployment_Step3
93       servers: {get_param: [servers, {{role.name}}]}
94       config: {get_resource: {{role.name}}Config}
95       input_values:
96         step: 3
97         update_identifier: {get_param: DeployIdentifier}
98
99   {{role.name}}Deployment_Step4:
100     type: OS::Heat::StructuredDeploymentGroup
101     depends_on:
102   {% for dep in roles %}
103       - {{dep.name}}Deployment_Step3
104   {% endfor %}
105     properties:
106       name: {{role.name}}Deployment_Step4
107       servers: {get_param: [servers, {{role.name}}]}
108       config: {get_resource: {{role.name}}Config}
109       input_values:
110         step: 4
111         update_identifier: {get_param: DeployIdentifier}
112
113   {{role.name}}Deployment_Step5:
114     type: OS::Heat::StructuredDeploymentGroup
115     depends_on:
116   {% for dep in roles %}
117       - {{dep.name}}Deployment_Step4
118   {% endfor %}
119     properties:
120       name: {{role.name}}Deployment_Step5
121       servers: {get_param: [servers, {{role.name}}]}
122       config: {get_resource: {{role.name}}Config}
123       input_values:
124         step: 5
125         update_identifier: {get_param: DeployIdentifier}
126
127   {{role.name}}PostConfig:
128     type: OS::TripleO::Tasks::{{role.name}}PostConfig
129     depends_on:
130   {% for dep in roles %}
131       - {{dep.name}}Deployment_Step5
132   {% endfor %}
133     properties:
134       servers:  {get_param: servers}
135       input_values:
136         update_identifier: {get_param: DeployIdentifier}
137
138   # Note, this should come last, so use depends_on to ensure
139   # this is created after any other resources.
140   {{role.name}}ExtraConfigPost:
141     depends_on:
142   {% for dep in roles %}
143       - {{dep.name}}PostConfig
144   {% endfor %}
145     type: OS::TripleO::NodeExtraConfigPost
146     properties:
147         servers: {get_param: [servers, {{role.name}}]}
148
149   {% if role.name == 'Controller' %}
150   ControllerPostPuppet:
151     depends_on:
152       - ControllerExtraConfigPost
153     type: OS::TripleO::Tasks::ControllerPostPuppet
154     properties:
155       servers: {get_param: [servers, Controller]}
156       input_values:
157         update_identifier: {get_param: DeployIdentifier}
158   {% endif %}
159
160 {% endfor %}