aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/swift-storage-post.yaml
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-02-19 16:31:38 -0800
committerDan Prince <dprince@redhat.com>2015-02-23 20:45:03 -0500
commit66aaf72d35fc7c9be5d4fc7605f8ad6d7b5c520e (patch)
treefaf2f1fd7b83d037a9e825d30ddb58486903861a /puppet/swift-storage-post.yaml
parentb11ac7e6b67c08eb7407872ece519f2675151483 (diff)
ObjectStore: Exec puppet after all configuration
This patch adds a new ObjectStoreNodesPostDeployment resource which can be used along with the environment file to specify a nested stack which is guaranteed to execute after all the ObjectStore config deployments have executed. This is really useful for Puppet in that Heat actually controls where puppet executes in the deployment process and we want to ensure puppet runs after all hiera configuration data has be deployed to the nodes. With the previous approach some of the data would be there, but allNodes data would not be guaranteed to be there in time. As os-apply-config (tripleo-image-elements) have their ordering controlled within the elements themselves an empty stubbed in nested stack has been added so that we don't break that implementation. Change-Id: I778b87a17d5e6824233fdf9957c76549c36b3f78
Diffstat (limited to 'puppet/swift-storage-post.yaml')
-rw-r--r--puppet/swift-storage-post.yaml42
1 files changed, 42 insertions, 0 deletions
diff --git a/puppet/swift-storage-post.yaml b/puppet/swift-storage-post.yaml
new file mode 100644
index 0000000..89cf973
--- /dev/null
+++ b/puppet/swift-storage-post.yaml
@@ -0,0 +1,42 @@
+heat_template_version: 2014-10-16
+description: 'Swift Storage Post Deployment'
+# NOTE: this is a noop for os-apply-config style deployments because
+# post deployment ordering is controlled by tripleo-image-elements
+
+parameters:
+ servers:
+ type: json
+
+resources:
+
+ StoragePuppetConfig:
+ type: OS::Heat::SoftwareConfig
+ properties:
+ group: puppet
+ outputs:
+ - name: result
+ config:
+ get_file: manifests/overcloud_object.pp
+
+ StoragePuppetDeployment:
+ type: OS::Heat::StructuredDeployments
+ properties:
+ name: puppet_1
+ servers: {get_param: servers}
+ config: {get_resource: StoragePuppetConfig}
+
+ StorageRingbuilderPuppetConfig:
+ type: OS::Heat::SoftwareConfig
+ properties:
+ group: puppet
+ outputs:
+ - name: result
+ config:
+ get_file: manifests/ringbuilder.pp
+
+ StorageRingbuilderPuppetDeployment:
+ type: OS::Heat::StructuredDeployments
+ properties:
+ name: puppet_2
+ servers: {get_param: servers}
+ config: {get_resource: StorageRingbuilderPuppetConfig}