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
18 description: Config manifests that will be used to step through the deployment.
23 ControllerArtifactsConfig:
24 type: deploy-artifacts.yaml
26 ControllerArtifactsDeploy:
27 type: OS::Heat::StructuredDeployments
29 servers: {get_param: servers}
30 config: {get_resource: ControllerArtifactsConfig}
33 type: OS::TripleO::Tasks::ControllerPrePuppet
35 servers: {get_param: servers}
37 update_identifier: {get_param: NodeConfigIdentifiers}
39 ControllerPuppetConfig:
40 type: OS::TripleO::ControllerConfig
42 StepConfig: {get_param: StepConfig}
44 # Step through a series of Puppet runs using the same manifest.
45 # NOTE: To enable stepping through the deployments via heat hooks,
46 # you must observe the glob naming defined in overcloud-steps.yaml
47 # e.g all Deployment resources should have a *Deployment_StepN suffix
48 ControllerLoadBalancerDeployment_Step1:
49 type: OS::Heat::StructuredDeployments
50 depends_on: [ControllerPrePuppet, ControllerArtifactsDeploy]
52 name: ControllerLoadBalancerDeployment_Step1
53 servers: {get_param: servers}
54 config: {get_resource: ControllerPuppetConfig}
57 update_identifier: {get_param: NodeConfigIdentifiers}
58 actions: ['CREATE'] # no need for two passes on an UPDATE
60 ControllerServicesBaseDeployment_Step2:
61 type: OS::Heat::StructuredDeployments
62 depends_on: ControllerLoadBalancerDeployment_Step1
64 name: ControllerServicesBaseDeployment_Step2
65 servers: {get_param: servers}
66 config: {get_resource: ControllerPuppetConfig}
69 update_identifier: {get_param: NodeConfigIdentifiers}
70 actions: ['CREATE'] # no need for two passes on an UPDATE
72 ControllerOvercloudServicesDeployment_Step3:
73 type: OS::Heat::StructuredDeployments
74 depends_on: ControllerServicesBaseDeployment_Step2
76 name: ControllerOvercloudServicesDeployment_Step3
77 servers: {get_param: servers}
78 config: {get_resource: ControllerPuppetConfig}
81 update_identifier: {get_param: NodeConfigIdentifiers}
83 ControllerOvercloudServicesDeployment_Step4:
84 type: OS::Heat::StructuredDeployments
85 depends_on: ControllerOvercloudServicesDeployment_Step3
87 name: ControllerOvercloudServicesDeployment_Step4
88 servers: {get_param: servers}
89 config: {get_resource: ControllerPuppetConfig}
92 update_identifier: {get_param: NodeConfigIdentifiers}
94 ControllerOvercloudServicesDeployment_Step5:
95 type: OS::Heat::StructuredDeployments
96 depends_on: ControllerOvercloudServicesDeployment_Step4
98 name: ControllerOvercloudServicesDeployment_Step5
99 servers: {get_param: servers}
100 config: {get_resource: ControllerPuppetConfig}
103 update_identifier: {get_param: NodeConfigIdentifiers}
105 ControllerOvercloudServicesDeployment_Step6:
106 type: OS::Heat::StructuredDeployments
107 depends_on: ControllerOvercloudServicesDeployment_Step5
109 name: ControllerOvercloudServicesDeployment_Step6
110 servers: {get_param: servers}
111 config: {get_resource: ControllerPuppetConfig}
114 update_identifier: {get_param: NodeConfigIdentifiers}
116 ControllerOvercloudServicesDeployment_Step7:
117 type: OS::Heat::StructuredDeployments
118 depends_on: ControllerOvercloudServicesDeployment_Step6
120 name: ControllerOvercloudServicesDeployment_Step7
121 servers: {get_param: servers}
122 config: {get_resource: ControllerPuppetConfig}
125 update_identifier: {get_param: NodeConfigIdentifiers}
127 ControllerPostPuppet:
128 type: OS::TripleO::Tasks::ControllerPostPuppet
129 depends_on: ControllerOvercloudServicesDeployment_Step7
131 servers: {get_param: servers}
133 update_identifier: {get_param: NodeConfigIdentifiers}
135 # Note, this should come last, so use depends_on to ensure
136 # this is created after any other resources.
138 depends_on: ControllerPostPuppet
139 type: OS::TripleO::NodeExtraConfigPost
141 servers: {get_param: servers}