Update puppet post config to enable stepped deployments
[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   ControllerDeploymentLoadBalancer_Step1:
28     type: OS::Heat::StructuredDeployments
29     properties:
30       servers:  {get_param: servers}
31       config: {get_resource: ControllerPuppetConfig}
32       input_values:
33         step: 1
34       actions: ['CREATE'] # no need for two passes on an UPDATE
35
36   ControllerDeploymentServicesBase_Step2:
37     type: OS::Heat::StructuredDeployments
38     depends_on: ControllerDeploymentLoadBalancer_Step1
39     properties:
40       servers:  {get_param: servers}
41       config: {get_resource: ControllerPuppetConfig}
42       input_values:
43         step: 2
44       actions: ['CREATE'] # no need for two passes on an UPDATE
45
46   ControllerRingbuilderPuppetConfig:
47     type: OS::Heat::SoftwareConfig
48     properties:
49       group: puppet
50       options:
51         enable_hiera: True
52         enable_facter: False
53       inputs:
54       outputs:
55       - name: result
56       config:
57         get_file: manifests/ringbuilder.pp
58
59   ControllerRingbuilderDeployment_Step3:
60     type: OS::Heat::StructuredDeployments
61     depends_on: ControllerDeploymentServicesBase_Step2
62     properties:
63       servers:  {get_param: servers}
64       config: {get_resource: ControllerRingbuilderPuppetConfig}
65
66   ControllerDeploymentOvercloudServices_Step4:
67     type: OS::Heat::StructuredDeployments
68     depends_on: ControllerRingbuilderDeployment_Step3
69     properties:
70       servers:  {get_param: servers}
71       config: {get_resource: ControllerPuppetConfig}
72       input_values:
73         step: 3