Merge "Adds 'trunk' to ODL env service plugins"
[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: {get_param: [role_data, {{role.name}}, step_config]}
25
26   {% if role.name == 'Controller' %}
27   ControllerPrePuppet:
28     type: OS::TripleO::Tasks::ControllerPrePuppet
29     properties:
30       servers: {get_param: [servers, Controller]}
31       input_values:
32         update_identifier: {get_param: DeployIdentifier}
33   {% endif %}
34
35   {% if role.name in ['Controller', 'ObjectStorage'] %}
36   {{role.name}}SwiftRingDeploy:
37     type: OS::TripleO::Tasks::SwiftRingDeploy
38     properties:
39       servers: {get_param: [servers, {{role.name}}]}
40   {% endif %}
41
42   # Step through a series of configuration steps
43 {% for step in range(1, 6) %}
44   {{role.name}}Deployment_Step{{step}}:
45     type: OS::Heat::StructuredDeploymentGroup
46   {% if step == 1 %}
47     depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
48   {% else %}
49     depends_on:
50     {% for dep in roles %}
51       - {{dep.name}}Deployment_Step{{step -1}}
52     {% endfor %}
53   {% endif %}
54     properties:
55       name: {{role.name}}Deployment_Step{{step}}
56       servers: {get_param: [servers, {{role.name}}]}
57       config: {get_resource: {{role.name}}Config}
58       input_values:
59         step: {{step}}
60         update_identifier: {get_param: DeployIdentifier}
61 {% endfor %}
62
63   {{role.name}}PostConfig:
64     type: OS::TripleO::Tasks::{{role.name}}PostConfig
65     depends_on:
66   {% for dep in roles %}
67       - {{dep.name}}Deployment_Step5
68   {% endfor %}
69     properties:
70       servers:  {get_param: servers}
71       input_values:
72         update_identifier: {get_param: DeployIdentifier}
73
74   # Note, this should come last, so use depends_on to ensure
75   # this is created after any other resources.
76   {{role.name}}ExtraConfigPost:
77     depends_on:
78   {% for dep in roles %}
79       - {{dep.name}}PostConfig
80   {% endfor %}
81     type: OS::TripleO::NodeExtraConfigPost
82     properties:
83         servers: {get_param: [servers, {{role.name}}]}
84
85   {% if role.name == 'Controller' %}
86   ControllerPostPuppet:
87     depends_on:
88       - ControllerExtraConfigPost
89     type: OS::TripleO::Tasks::ControllerPostPuppet
90     properties:
91       servers: {get_param: [servers, Controller]}
92       input_values:
93         update_identifier: {get_param: DeployIdentifier}
94   {% endif %}
95
96   {% if role.name in ['Controller', 'ObjectStorage'] %}
97   {{role.name}}SwiftRingUpdate:
98     type: OS::TripleO::Tasks::SwiftRingUpdate
99     depends_on:
100   {% for dep in roles %}
101       - {{dep.name}}Deployment_Step5
102   {% endfor %}
103     properties:
104       servers: {get_param: [servers, {{role.name}}]}
105   {% endif %}
106 {% endfor %}