Merge "Enable Docker service for Compute role"
[apex-tripleo-heat-templates.git] / puppet / puppet-steps.j2
1   # Post deployment steps for all roles
2   # A single config is re-applied with an incrementing step number
3 {% for role in roles %}
4   # {{role.name}} Role post-deploy steps
5   {{role.name}}ArtifactsConfig:
6     type: deploy-artifacts.yaml
7
8   {{role.name}}ArtifactsDeploy:
9     type: OS::Heat::StructuredDeployments
10     properties:
11       servers:  {get_param: [servers, {{role.name}}]}
12       config: {get_resource: {{role.name}}ArtifactsConfig}
13
14   {{role.name}}PreConfig:
15     type: OS::TripleO::Tasks::{{role.name}}PreConfig
16     properties:
17       servers: {get_param: [servers, {{role.name}}]}
18       input_values:
19         update_identifier: {get_param: DeployIdentifier}
20
21   {{role.name}}Config:
22     type: OS::TripleO::{{role.name}}Config
23     properties:
24       StepConfig: {list_join: ["\n", {get_param: [role_data, {{role.name}}, step_config]}]}
25
26   {{role.name}}PrePuppet:
27     type: OS::TripleO::Tasks::{{role.name}}PrePuppet
28     properties:
29       servers: {get_param: [servers, {{role.name}}]}
30       input_values:
31         update_identifier: {get_param: DeployIdentifier}
32
33   {% if role.name in ['Controller', 'ObjectStorage'] %}
34   {{role.name}}SwiftRingDeploy:
35     type: OS::TripleO::Tasks::SwiftRingDeploy
36     properties:
37       servers: {get_param: [servers, {{role.name}}]}
38   {% endif %}
39
40   # Step through a series of configuration steps
41 {% for step in range(1, 6) %}
42   {{role.name}}Deployment_Step{{step}}:
43     type: OS::Heat::StructuredDeploymentGroup
44   {% if step == 1 %}
45     depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
46   {% else %}
47     depends_on:
48     {% for dep in roles %}
49       - {{dep.name}}Deployment_Step{{step -1}}
50     {% endfor %}
51   {% endif %}
52     properties:
53       name: {{role.name}}Deployment_Step{{step}}
54       servers: {get_param: [servers, {{role.name}}]}
55       config: {get_resource: {{role.name}}Config}
56       input_values:
57         step: {{step}}
58         update_identifier: {get_param: DeployIdentifier}
59 {% endfor %}
60
61   {{role.name}}PostConfig:
62     type: OS::TripleO::Tasks::{{role.name}}PostConfig
63     depends_on:
64   {% for dep in roles %}
65       - {{dep.name}}Deployment_Step5
66   {% endfor %}
67     properties:
68       servers:  {get_param: servers}
69       input_values:
70         update_identifier: {get_param: DeployIdentifier}
71
72   # Note, this should come last, so use depends_on to ensure
73   # this is created after any other resources.
74   {{role.name}}ExtraConfigPost:
75     depends_on:
76   {% for dep in roles %}
77       - {{dep.name}}PostConfig
78   {% endfor %}
79     type: OS::TripleO::NodeExtraConfigPost
80     properties:
81         servers: {get_param: [servers, {{role.name}}]}
82
83   {{role.name}}PostPuppet:
84     depends_on:
85       - {{role.name}}ExtraConfigPost
86     type: OS::TripleO::Tasks::{{role.name}}PostPuppet
87     properties:
88       servers: {get_param: [servers, {{role.name}}]}
89       input_values:
90         update_identifier: {get_param: DeployIdentifier}
91
92   {% if role.name in ['Controller', 'ObjectStorage'] %}
93   {{role.name}}SwiftRingUpdate:
94     type: OS::TripleO::Tasks::SwiftRingUpdate
95     depends_on:
96   {% for dep in roles %}
97       - {{dep.name}}Deployment_Step5
98   {% endfor %}
99     properties:
100       servers: {get_param: [servers, {{role.name}}]}
101   {% endif %}
102 {% endfor %}