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 ControllerRingbuilderPuppetConfig:
68 type: OS::Heat::SoftwareConfig
72 enable_debug: {get_param: ConfigDebug}
79 get_file: manifests/ringbuilder.pp
81 ControllerRingbuilderDeployment_Step3:
82 type: OS::Heat::StructuredDeployments
83 depends_on: ControllerServicesBaseDeployment_Step2
85 name: ControllerRingbuilderDeployment_Step3
86 servers: {get_param: servers}
87 config: {get_resource: ControllerRingbuilderPuppetConfig}
89 update_identifier: {get_param: NodeConfigIdentifiers}
91 ControllerOvercloudServicesDeployment_Step4:
92 type: OS::Heat::StructuredDeployments
93 depends_on: ControllerRingbuilderDeployment_Step3
95 name: ControllerOvercloudServicesDeployment_Step4
96 servers: {get_param: servers}
97 config: {get_resource: ControllerPuppetConfig}
100 update_identifier: {get_param: NodeConfigIdentifiers}
102 ControllerOvercloudServicesDeployment_Step5:
103 type: OS::Heat::StructuredDeployments
104 depends_on: ControllerOvercloudServicesDeployment_Step4
106 name: ControllerOvercloudServicesDeployment_Step5
107 servers: {get_param: servers}
108 config: {get_resource: ControllerPuppetConfig}
111 update_identifier: {get_param: NodeConfigIdentifiers}
113 ControllerOvercloudServicesDeployment_Step6:
114 type: OS::Heat::StructuredDeployments
115 depends_on: ControllerOvercloudServicesDeployment_Step5
117 name: ControllerOvercloudServicesDeployment_Step6
118 servers: {get_param: servers}
119 config: {get_resource: ControllerPuppetConfig}
122 update_identifier: {get_param: NodeConfigIdentifiers}
124 ControllerPostPuppet:
125 type: OS::TripleO::Tasks::ControllerPostPuppet
126 depends_on: ControllerOvercloudServicesDeployment_Step6
128 servers: {get_param: servers}
130 update_identifier: {get_param: NodeConfigIdentifiers}
132 # Note, this should come last, so use depends_on to ensure
133 # this is created after any other resources.
135 depends_on: ControllerPostPuppet
136 type: OS::TripleO::NodeExtraConfigPost
138 servers: {get_param: servers}