1 heat_template_version: 2015-04-30
4 OpenStack controller node post deployment for Puppet.
9 description: Whether to run config management (e.g. Puppet) in debug mode.
13 NodeConfigIdentifiers:
15 description: Value which changes if the node configuration may need to be re-applied
20 ControllerArtifactsConfig:
21 type: deploy-artifacts.yaml
23 ControllerArtifactsDeploy:
24 type: OS::Heat::StructuredDeployments
26 servers: {get_param: servers}
27 config: {get_resource: ControllerArtifactsConfig}
30 type: OS::TripleO::Tasks::ControllerPrePuppet
32 servers: {get_param: servers}
34 update_identifier: {get_param: NodeConfigIdentifiers}
36 ControllerPuppetConfig:
37 type: OS::TripleO::ControllerConfig
39 # Step through a series of Puppet runs using the same manifest.
40 # NOTE: To enable stepping through the deployments via heat hooks,
41 # you must observe the glob naming defined in overcloud-steps.yaml
42 # e.g all Deployment resources should have a *Deployment_StepN suffix
43 ControllerLoadBalancerDeployment_Step1:
44 type: OS::Heat::StructuredDeployments
45 depends_on: [ControllerPrePuppet, ControllerArtifactsDeploy]
47 name: ControllerLoadBalancerDeployment_Step1
48 servers: {get_param: servers}
49 config: {get_resource: ControllerPuppetConfig}
52 update_identifier: {get_param: NodeConfigIdentifiers}
53 actions: ['CREATE'] # no need for two passes on an UPDATE
55 ControllerServicesBaseDeployment_Step2:
56 type: OS::Heat::StructuredDeployments
57 depends_on: ControllerLoadBalancerDeployment_Step1
59 name: ControllerServicesBaseDeployment_Step2
60 servers: {get_param: servers}
61 config: {get_resource: ControllerPuppetConfig}
64 update_identifier: {get_param: NodeConfigIdentifiers}
65 actions: ['CREATE'] # no need for two passes on an UPDATE
67 ControllerOvercloudServicesDeployment_Step3:
68 type: OS::Heat::StructuredDeployments
69 depends_on: ControllerServicesBaseDeployment_Step2
71 name: ControllerOvercloudServicesDeployment_Step3
72 servers: {get_param: servers}
73 config: {get_resource: ControllerPuppetConfig}
76 update_identifier: {get_param: NodeConfigIdentifiers}
78 ControllerOvercloudServicesDeployment_Step4:
79 type: OS::Heat::StructuredDeployments
80 depends_on: ControllerOvercloudServicesDeployment_Step3
82 name: ControllerOvercloudServicesDeployment_Step4
83 servers: {get_param: servers}
84 config: {get_resource: ControllerPuppetConfig}
87 update_identifier: {get_param: NodeConfigIdentifiers}
89 ControllerOvercloudServicesDeployment_Step5:
90 type: OS::Heat::StructuredDeployments
91 depends_on: ControllerOvercloudServicesDeployment_Step4
93 name: ControllerOvercloudServicesDeployment_Step5
94 servers: {get_param: servers}
95 config: {get_resource: ControllerPuppetConfig}
98 update_identifier: {get_param: NodeConfigIdentifiers}
100 ControllerOvercloudServicesDeployment_Step6:
101 type: OS::Heat::StructuredDeployments
102 depends_on: ControllerOvercloudServicesDeployment_Step5
104 name: ControllerOvercloudServicesDeployment_Step6
105 servers: {get_param: servers}
106 config: {get_resource: ControllerPuppetConfig}
109 update_identifier: {get_param: NodeConfigIdentifiers}
111 ControllerOvercloudServicesDeployment_Step7:
112 type: OS::Heat::StructuredDeployments
113 depends_on: ControllerOvercloudServicesDeployment_Step6
115 name: ControllerOvercloudServicesDeployment_Step7
116 servers: {get_param: servers}
117 config: {get_resource: ControllerPuppetConfig}
120 update_identifier: {get_param: NodeConfigIdentifiers}
122 ControllerPostPuppet:
123 type: OS::TripleO::Tasks::ControllerPostPuppet
124 depends_on: ControllerOvercloudServicesDeployment_Step7
126 servers: {get_param: servers}
128 update_identifier: {get_param: NodeConfigIdentifiers}
130 # Note, this should come last, so use depends_on to ensure
131 # this is created after any other resources.
133 depends_on: ControllerPostPuppet
134 type: OS::TripleO::NodeExtraConfigPost
136 servers: {get_param: servers}