Merge "Use pacemaker::resource::service instead of ::systemd"
[apex-tripleo-heat-templates.git] / puppet / controller-post-puppet.yaml
1 heat_template_version: 2014-10-16
2
3 description: >
4   OpenStack controller node post deployment for Puppet.
5
6 parameters:
7   servers:
8     type: json
9
10 resources:
11
12   ControllerPuppetConfig:
13     type: OS::TripleO::ControllerConfig
14
15   # Step through a series of Puppet runs using the same manifest.
16   # NOTE(dprince): Heat breakpoints would make for a really cool way to step
17   # through breakpoints in a controlled manner across the entire cluster
18   ControllerDeploymentLoadBalancer_Step1:
19     type: OS::Heat::StructuredDeployments
20     properties:
21       servers:  {get_param: servers}
22       config: {get_resource: ControllerPuppetConfig}
23       input_values:
24         step: 1
25       actions: ['CREATE'] # no need for two passes on an UPDATE
26
27   ControllerDeploymentServicesBase_Step2:
28     type: OS::Heat::StructuredDeployments
29     depends_on: ControllerDeploymentLoadBalancer_Step1
30     properties:
31       servers:  {get_param: servers}
32       config: {get_resource: ControllerPuppetConfig}
33       input_values:
34         step: 2
35       actions: ['CREATE'] # no need for two passes on an UPDATE
36
37   ControllerRingbuilderPuppetConfig:
38     type: OS::Heat::SoftwareConfig
39     properties:
40       group: puppet
41       options:
42         enable_hiera: True
43         enable_facter: False
44       inputs:
45       outputs:
46       - name: result
47       config:
48         get_file: manifests/ringbuilder.pp
49
50   ControllerRingbuilderDeployment_Step3:
51     type: OS::Heat::StructuredDeployments
52     depends_on: ControllerDeploymentServicesBase_Step2
53     properties:
54       servers:  {get_param: servers}
55       config: {get_resource: ControllerRingbuilderPuppetConfig}
56
57   ControllerDeploymentOvercloudServices_Step4:
58     type: OS::Heat::StructuredDeployments
59     depends_on: ControllerRingbuilderDeployment_Step3
60     properties:
61       servers:  {get_param: servers}
62       config: {get_resource: ControllerPuppetConfig}
63       input_values:
64         step: 3
65
66   ControllerDeploymentOvercloudServices_Step5:
67     type: OS::Heat::StructuredDeployments
68     depends_on: ControllerDeploymentOvercloudServices_Step4
69     properties:
70       servers:  {get_param: servers}
71       config: {get_resource: ControllerPuppetConfig}
72       input_values:
73         step: 4
74
75   # Note, this should come last, so use depends_on to ensure
76   # this is created after any other resources.
77   ExtraConfig:
78     depends_on: ControllerDeploymentOvercloudServices_Step5
79     type: OS::TripleO::NodeExtraConfigPost
80     properties:
81         servers: {get_param: servers}
82