Merge "Enable galera replication for Mariadb 10.1"
[apex-tripleo-heat-templates.git] / puppet / controller-post.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   OpenStack controller node post deployment for Puppet.
5
6 parameters:
7   ConfigDebug:
8     default: false
9     description: Whether to run config management (e.g. Puppet) in debug mode.
10     type: boolean
11   servers:
12     type: json
13   NodeConfigIdentifiers:
14      type: json
15      description: Value which changes if the node configuration may need to be re-applied
16   StepConfig:
17      type: string
18      description: Config manifests that will be used to step through the deployment.
19      default: ''
20
21 resources:
22
23   ControllerArtifactsConfig:
24     type: deploy-artifacts.yaml
25
26   ControllerArtifactsDeploy:
27     type: OS::Heat::StructuredDeployments
28     properties:
29       servers:  {get_param: servers}
30       config: {get_resource: ControllerArtifactsConfig}
31
32   ControllerPrePuppet:
33     type: OS::TripleO::Tasks::ControllerPrePuppet
34     properties:
35       servers:  {get_param: servers}
36       input_values:
37         update_identifier: {get_param: NodeConfigIdentifiers}
38
39   ControllerPuppetConfig:
40     type: OS::TripleO::ControllerConfig
41     properties:
42       StepConfig: {get_param: StepConfig}
43
44   # Step through a series of Puppet runs using the same manifest.
45   # NOTE: To enable stepping through the deployments via heat hooks,
46   # you must observe the glob naming defined in overcloud-steps.yaml
47   # e.g all Deployment resources should have a *Deployment_StepN suffix
48   ControllerLoadBalancerDeployment_Step1:
49     type: OS::Heat::StructuredDeployments
50     depends_on: [ControllerPrePuppet, ControllerArtifactsDeploy]
51     properties:
52       name: ControllerLoadBalancerDeployment_Step1
53       servers:  {get_param: servers}
54       config: {get_resource: ControllerPuppetConfig}
55       input_values:
56         step: 1
57         update_identifier: {get_param: NodeConfigIdentifiers}
58       actions: ['CREATE'] # no need for two passes on an UPDATE
59
60   ControllerServicesBaseDeployment_Step2:
61     type: OS::Heat::StructuredDeployments
62     depends_on: ControllerLoadBalancerDeployment_Step1
63     properties:
64       name: ControllerServicesBaseDeployment_Step2
65       servers:  {get_param: servers}
66       config: {get_resource: ControllerPuppetConfig}
67       input_values:
68         step: 2
69         update_identifier: {get_param: NodeConfigIdentifiers}
70       actions: ['CREATE'] # no need for two passes on an UPDATE
71
72   ControllerOvercloudServicesDeployment_Step3:
73     type: OS::Heat::StructuredDeployments
74     depends_on: ControllerServicesBaseDeployment_Step2
75     properties:
76       name: ControllerOvercloudServicesDeployment_Step3
77       servers:  {get_param: servers}
78       config: {get_resource: ControllerPuppetConfig}
79       input_values:
80         step: 3
81         update_identifier: {get_param: NodeConfigIdentifiers}
82
83   ControllerOvercloudServicesDeployment_Step4:
84     type: OS::Heat::StructuredDeployments
85     depends_on: ControllerOvercloudServicesDeployment_Step3
86     properties:
87       name: ControllerOvercloudServicesDeployment_Step4
88       servers:  {get_param: servers}
89       config: {get_resource: ControllerPuppetConfig}
90       input_values:
91         step: 4
92         update_identifier: {get_param: NodeConfigIdentifiers}
93
94   ControllerOvercloudServicesDeployment_Step5:
95     type: OS::Heat::StructuredDeployments
96     depends_on: ControllerOvercloudServicesDeployment_Step4
97     properties:
98       name: ControllerOvercloudServicesDeployment_Step5
99       servers:  {get_param: servers}
100       config: {get_resource: ControllerPuppetConfig}
101       input_values:
102         step: 5
103         update_identifier: {get_param: NodeConfigIdentifiers}
104
105   ControllerOvercloudServicesDeployment_Step6:
106     type: OS::Heat::StructuredDeployments
107     depends_on: ControllerOvercloudServicesDeployment_Step5
108     properties:
109       name: ControllerOvercloudServicesDeployment_Step6
110       servers:  {get_param: servers}
111       config: {get_resource: ControllerPuppetConfig}
112       input_values:
113         step: 6
114         update_identifier: {get_param: NodeConfigIdentifiers}
115
116   ControllerOvercloudServicesDeployment_Step7:
117     type: OS::Heat::StructuredDeployments
118     depends_on: ControllerOvercloudServicesDeployment_Step6
119     properties:
120       name: ControllerOvercloudServicesDeployment_Step7
121       servers:  {get_param: servers}
122       config: {get_resource: ControllerPuppetConfig}
123       input_values:
124         step: 7
125         update_identifier: {get_param: NodeConfigIdentifiers}
126
127   ControllerPostPuppet:
128     type: OS::TripleO::Tasks::ControllerPostPuppet
129     depends_on: ControllerOvercloudServicesDeployment_Step7
130     properties:
131       servers:  {get_param: servers}
132       input_values:
133         update_identifier: {get_param: NodeConfigIdentifiers}
134
135   # Note, this should come last, so use depends_on to ensure
136   # this is created after any other resources.
137   ExtraConfig:
138     depends_on: ControllerPostPuppet
139     type: OS::TripleO::NodeExtraConfigPost
140     properties:
141         servers: {get_param: servers}