38a7e599afffc4c4afb9cec486a8e119f771a7ff
[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::Heat::SoftwareConfig
14     properties:
15       group: puppet
16       options:
17         enable_hiera: True
18         enable_facter: False
19       outputs:
20       - name: result
21       config:
22         get_file: manifests/overcloud_controller.pp
23
24   # Step through a series of Puppet runs using the same manifest.
25   # NOTE(dprince): Heat breakpoints would make for a really cool way to step
26   # through breakpoints in a controlled manner across the entire cluster
27   ControllerPuppetDeploymentLoadBalancer:
28     type: OS::Heat::StructuredDeployments
29     properties:
30       name: puppet_1
31       servers:  {get_param: servers}
32       config: {get_resource: ControllerPuppetConfig}
33       input_values:
34         step: 1
35       actions: ['CREATE'] # no need for two passes on an UPDATE
36
37   ControllerPuppetDeploymentServicesBase:
38     type: OS::Heat::StructuredDeployments
39     properties:
40       name: puppet_2
41       servers:  {get_param: servers}
42       config: {get_resource: ControllerPuppetConfig}
43       input_values:
44         step: 2
45       actions: ['CREATE'] # no need for two passes on an UPDATE
46
47   ControllerRingbuilderPuppetConfig:
48     type: OS::Heat::SoftwareConfig
49     properties:
50       group: puppet
51       options:
52         enable_hiera: True
53         enable_facter: False
54       inputs:
55       outputs:
56       - name: result
57       config:
58         get_file: manifests/ringbuilder.pp
59
60   ControllerRingbuilderPuppetDeployment:
61     type: OS::Heat::StructuredDeployments
62     properties:
63       name: puppet_3
64       servers:  {get_param: servers}
65       config: {get_resource: ControllerRingbuilderPuppetConfig}
66
67   ControllerPuppetDeploymentOvercloudServices:
68     type: OS::Heat::StructuredDeployments
69     properties:
70       name: puppet_4
71       servers:  {get_param: servers}
72       config: {get_resource: ControllerPuppetConfig}
73       input_values:
74         step: 3