Merge "Provide manage_service to neutron::agents::ml2::ovs"
[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   NodeConfigIdentifiers:
10      type: json
11      description: Value which changes if the node configuration may need to be re-applied
12
13
14 resources:
15
16   ControllerPuppetConfig:
17     type: OS::TripleO::ControllerConfig
18
19   # Step through a series of Puppet runs using the same manifest.
20   # NOTE: To enable stepping through the deployments via heat hooks,
21   # you must observe the glob naming defined in overcloud-steps.yaml
22   # e.g all Deployment resources should have a *Deployment_StepN suffix
23   ControllerLoadBalancerDeployment_Step1:
24     type: OS::Heat::StructuredDeployments
25     properties:
26       servers:  {get_param: servers}
27       config: {get_resource: ControllerPuppetConfig}
28       input_values:
29         step: 1
30         update_identifier: {get_param: NodeConfigIdentifiers}
31       actions: ['CREATE'] # no need for two passes on an UPDATE
32
33   ControllerServicesBaseDeployment_Step2:
34     type: OS::Heat::StructuredDeployments
35     depends_on: ControllerLoadBalancerDeployment_Step1
36     properties:
37       servers:  {get_param: servers}
38       config: {get_resource: ControllerPuppetConfig}
39       input_values:
40         step: 2
41         update_identifier: {get_param: NodeConfigIdentifiers}
42       actions: ['CREATE'] # no need for two passes on an UPDATE
43
44   ControllerRingbuilderPuppetConfig:
45     type: OS::Heat::SoftwareConfig
46     properties:
47       group: puppet
48       options:
49         enable_hiera: True
50         enable_facter: False
51       inputs:
52       outputs:
53       - name: result
54       config:
55         get_file: manifests/ringbuilder.pp
56
57   ControllerRingbuilderDeployment_Step3:
58     type: OS::Heat::StructuredDeployments
59     depends_on: ControllerServicesBaseDeployment_Step2
60     properties:
61       servers:  {get_param: servers}
62       config: {get_resource: ControllerRingbuilderPuppetConfig}
63       input_values:
64         update_identifier: {get_param: NodeConfigIdentifiers}
65
66   ControllerOvercloudServicesDeployment_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
74         update_identifier: {get_param: NodeConfigIdentifiers}
75
76   ControllerOvercloudServicesDeployment_Step5:
77     type: OS::Heat::StructuredDeployments
78     depends_on: ControllerOvercloudServicesDeployment_Step4
79     properties:
80       servers:  {get_param: servers}
81       config: {get_resource: ControllerPuppetConfig}
82       input_values:
83         step: 4
84         update_identifier: {get_param: NodeConfigIdentifiers}
85
86   ControllerOvercloudServicesDeployment_Step6:
87     type: OS::Heat::StructuredDeployments
88     depends_on: ControllerOvercloudServicesDeployment_Step5
89     properties:
90       servers:  {get_param: servers}
91       config: {get_resource: ControllerPuppetConfig}
92       input_values:
93         step: 5
94         update_identifier: {get_param: NodeConfigIdentifiers}
95
96   # Note, this should come last, so use depends_on to ensure
97   # this is created after any other resources.
98   ExtraConfig:
99     depends_on: ControllerOvercloudServicesDeployment_Step5
100     type: OS::TripleO::NodeExtraConfigPost
101     properties:
102         servers: {get_param: servers}