aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/controller-post.yaml
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-07-19 17:47:53 -0400
committerDan Prince <dprince@redhat.com>2015-09-22 08:30:01 -0400
commit5a353c916cf4ed305c3ece8307fd1289630d17c3 (patch)
treedbc4b5229e38196b9b49642f7dc1d9c6e5f5f6f7 /puppet/controller-post.yaml
parent8e7a13ebe898a9f6a94bf77d095a681ec744e719 (diff)
Rename -puppet.yaml templates.
Updates the /puppet directory templates so that we drop the '-puppet' from the filenames. This is redundant because we already have puppet in the directory name and fixes inconsistencies where we aren't using -puppet in all the files within the puppet directory. Depends-On: I71cb07b2f5305aaf9c43ab175cca976e844b8175 Change-Id: I70d6e048a566666f5d6e5c2407f8a6b4fd9f6f87
Diffstat (limited to 'puppet/controller-post.yaml')
-rw-r--r--puppet/controller-post.yaml102
1 files changed, 102 insertions, 0 deletions
diff --git a/puppet/controller-post.yaml b/puppet/controller-post.yaml
new file mode 100644
index 00000000..49cbe1e2
--- /dev/null
+++ b/puppet/controller-post.yaml
@@ -0,0 +1,102 @@
+heat_template_version: 2015-04-30
+
+description: >
+ OpenStack controller node post deployment for Puppet.
+
+parameters:
+ servers:
+ type: json
+ NodeConfigIdentifiers:
+ type: json
+ description: Value which changes if the node configuration may need to be re-applied
+
+
+resources:
+
+ ControllerPuppetConfig:
+ type: OS::TripleO::ControllerConfig
+
+ # Step through a series of Puppet runs using the same manifest.
+ # NOTE: To enable stepping through the deployments via heat hooks,
+ # you must observe the glob naming defined in overcloud-steps.yaml
+ # e.g all Deployment resources should have a *Deployment_StepN suffix
+ ControllerLoadBalancerDeployment_Step1:
+ type: OS::Heat::StructuredDeployments
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: ControllerPuppetConfig}
+ input_values:
+ step: 1
+ update_identifier: {get_param: NodeConfigIdentifiers}
+ actions: ['CREATE'] # no need for two passes on an UPDATE
+
+ ControllerServicesBaseDeployment_Step2:
+ type: OS::Heat::StructuredDeployments
+ depends_on: ControllerLoadBalancerDeployment_Step1
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: ControllerPuppetConfig}
+ input_values:
+ step: 2
+ update_identifier: {get_param: NodeConfigIdentifiers}
+ actions: ['CREATE'] # no need for two passes on an UPDATE
+
+ ControllerRingbuilderPuppetConfig:
+ type: OS::Heat::SoftwareConfig
+ properties:
+ group: puppet
+ options:
+ enable_hiera: True
+ enable_facter: False
+ inputs:
+ outputs:
+ - name: result
+ config:
+ get_file: manifests/ringbuilder.pp
+
+ ControllerRingbuilderDeployment_Step3:
+ type: OS::Heat::StructuredDeployments
+ depends_on: ControllerServicesBaseDeployment_Step2
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: ControllerRingbuilderPuppetConfig}
+ input_values:
+ update_identifier: {get_param: NodeConfigIdentifiers}
+
+ ControllerOvercloudServicesDeployment_Step4:
+ type: OS::Heat::StructuredDeployments
+ depends_on: ControllerRingbuilderDeployment_Step3
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: ControllerPuppetConfig}
+ input_values:
+ step: 3
+ update_identifier: {get_param: NodeConfigIdentifiers}
+
+ ControllerOvercloudServicesDeployment_Step5:
+ type: OS::Heat::StructuredDeployments
+ depends_on: ControllerOvercloudServicesDeployment_Step4
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: ControllerPuppetConfig}
+ input_values:
+ step: 4
+ update_identifier: {get_param: NodeConfigIdentifiers}
+
+ ControllerOvercloudServicesDeployment_Step6:
+ type: OS::Heat::StructuredDeployments
+ depends_on: ControllerOvercloudServicesDeployment_Step5
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: ControllerPuppetConfig}
+ input_values:
+ step: 5
+ update_identifier: {get_param: NodeConfigIdentifiers}
+
+ # Note, this should come last, so use depends_on to ensure
+ # this is created after any other resources.
+ ExtraConfig:
+ depends_on: ControllerOvercloudServicesDeployment_Step5
+ type: OS::TripleO::NodeExtraConfigPost
+ properties:
+ servers: {get_param: servers}