Merge "Combine Heat API networks into single net"
[apex-tripleo-heat-templates.git] / puppet / controller-post-puppet.yaml
1 heat_template_version: 2015-04-30
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: To enable stepping through the deployments via heat hooks,
17   # you must observe the glob naming defined in overcloud-steps.yaml
18   # e.g all Deployment resources should have a *Deployment_StepN suffix
19   ControllerLoadBalancerDeployment_Step1:
20     type: OS::Heat::StructuredDeployments
21     properties:
22       servers:  {get_param: servers}
23       config: {get_resource: ControllerPuppetConfig}
24       input_values:
25         step: 1
26       actions: ['CREATE'] # no need for two passes on an UPDATE
27
28   ControllerServicesBaseDeployment_Step2:
29     type: OS::Heat::StructuredDeployments
30     depends_on: ControllerLoadBalancerDeployment_Step1
31     properties:
32       servers:  {get_param: servers}
33       config: {get_resource: ControllerPuppetConfig}
34       input_values:
35         step: 2
36       actions: ['CREATE'] # no need for two passes on an UPDATE
37
38   ControllerRingbuilderPuppetConfig:
39     type: OS::Heat::SoftwareConfig
40     properties:
41       group: puppet
42       options:
43         enable_hiera: True
44         enable_facter: False
45       inputs:
46       outputs:
47       - name: result
48       config:
49         get_file: manifests/ringbuilder.pp
50
51   ControllerRingbuilderDeployment_Step3:
52     type: OS::Heat::StructuredDeployments
53     depends_on: ControllerServicesBaseDeployment_Step2
54     properties:
55       servers:  {get_param: servers}
56       config: {get_resource: ControllerRingbuilderPuppetConfig}
57
58   ControllerOvercloudServicesDeployment_Step4:
59     type: OS::Heat::StructuredDeployments
60     depends_on: ControllerRingbuilderDeployment_Step3
61     properties:
62       servers:  {get_param: servers}
63       config: {get_resource: ControllerPuppetConfig}
64       input_values:
65         step: 3
66
67   ControllerOvercloudServicesDeployment_Step5:
68     type: OS::Heat::StructuredDeployments
69     depends_on: ControllerOvercloudServicesDeployment_Step4
70     properties:
71       servers:  {get_param: servers}
72       config: {get_resource: ControllerPuppetConfig}
73       input_values:
74         step: 4
75
76   # Note, this should come last, so use depends_on to ensure
77   # this is created after any other resources.
78   ExtraConfig:
79     depends_on: ControllerOvercloudServicesDeployment_Step5
80     type: OS::TripleO::NodeExtraConfigPost
81     properties:
82         servers: {get_param: servers}