Merge "Add metadata settings for needed kerberos principals"
[apex-tripleo-heat-templates.git] / puppet / post.j2.yaml
1 heat_template_version: ocata
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   # Post deployment steps for all roles
25   # A single config is re-applied with an incrementing step number
26 {% for role in roles %}
27   # {{role.name}} Role post deploy steps
28   {{role.name}}ArtifactsConfig:
29     type: deploy-artifacts.yaml
30
31   {{role.name}}ArtifactsDeploy:
32     type: OS::Heat::StructuredDeployments
33     properties:
34       servers:  {get_param: [servers, {{role.name}}]}
35       config: {get_resource: {{role.name}}ArtifactsConfig}
36
37   {{role.name}}PreConfig:
38     type: OS::TripleO::Tasks::{{role.name}}PreConfig
39     properties:
40       servers: {get_param: [servers, {{role.name}}]}
41       input_values:
42         update_identifier: {get_param: DeployIdentifier}
43
44   {{role.name}}Config:
45     type: OS::TripleO::{{role.name}}Config
46     properties:
47       StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
48
49   {% if role.name == 'Controller' %}
50   ControllerPrePuppet:
51     type: OS::TripleO::Tasks::ControllerPrePuppet
52     properties:
53       servers: {get_param: [servers, Controller]}
54       input_values:
55         update_identifier: {get_param: DeployIdentifier}
56   {% endif %}
57
58   # Step through a series of configuration steps
59 {% for step in range(1, 6) %}
60   {{role.name}}Deployment_Step{{step}}:
61     type: OS::Heat::StructuredDeploymentGroup
62   {% if step == 1 %}
63     depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
64   {% else %}
65     depends_on:
66     {% for dep in roles %}
67       - {{dep.name}}Deployment_Step{{step -1}}
68     {% endfor %}
69   {% endif %}
70     properties:
71       name: {{role.name}}Deployment_Step{{step}}
72       servers: {get_param: [servers, {{role.name}}]}
73       config: {get_resource: {{role.name}}Config}
74       input_values:
75         step: {{step}}
76         update_identifier: {get_param: DeployIdentifier}
77 {% endfor %}
78
79   {{role.name}}PostConfig:
80     type: OS::TripleO::Tasks::{{role.name}}PostConfig
81     depends_on:
82   {% for dep in roles %}
83       - {{dep.name}}Deployment_Step5
84   {% endfor %}
85     properties:
86       servers:  {get_param: servers}
87       input_values:
88         update_identifier: {get_param: DeployIdentifier}
89
90   # Note, this should come last, so use depends_on to ensure
91   # this is created after any other resources.
92   {{role.name}}ExtraConfigPost:
93     depends_on:
94   {% for dep in roles %}
95       - {{dep.name}}PostConfig
96   {% endfor %}
97     type: OS::TripleO::NodeExtraConfigPost
98     properties:
99         servers: {get_param: [servers, {{role.name}}]}
100
101   {% if role.name == 'Controller' %}
102   ControllerPostPuppet:
103     depends_on:
104       - ControllerExtraConfigPost
105     type: OS::TripleO::Tasks::ControllerPostPuppet
106     properties:
107       servers: {get_param: [servers, Controller]}
108       input_values:
109         update_identifier: {get_param: DeployIdentifier}
110   {% endif %}
111
112 {% endfor %}