aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/deploy-artifacts.yaml
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-11-13 15:01:13 -0500
committerDan Prince <dprince@redhat.com>2016-02-26 16:55:44 -0500
commit55054f02d77ebbca63b6fbd3eab285873452933e (patch)
treed587a23b6777d4dcd3bf5a228c6864def715c105 /puppet/deploy-artifacts.yaml
parent8411e5a5bc6855d46522122710439e0d2623a2aa (diff)
Add support for DeployArtifactURLs
Adds a new nested stack deployment which allows operators to opt-in to deploy tarball's and RPM packages by setting DeployArtifactURLs as a parameter_default in a Heat environment. The intent is to use this setting to allow t-h-t to transparently deploy things like tarballs of puppet modules via a Swift Temp URL. Change-Id: I1bad4a4a79cf297f5b6e439e0657269738b5f326 Implements: blueprint puppet-modules-deployment-via-swift
Diffstat (limited to 'puppet/deploy-artifacts.yaml')
-rw-r--r--puppet/deploy-artifacts.yaml32
1 files changed, 32 insertions, 0 deletions
diff --git a/puppet/deploy-artifacts.yaml b/puppet/deploy-artifacts.yaml
new file mode 100644
index 0000000..17f8416
--- /dev/null
+++ b/puppet/deploy-artifacts.yaml
@@ -0,0 +1,32 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Software Config to install deployment artifacts (tarball's and/or
+ distribution packages) via HTTP URLs. The contents of the URL's can
+ be tarballs or distribution packages (RPMs). If a tarball URL is supplied
+ it is extracted onto the target node during deployment. If a package is
+ deployed it is installed from the supplied URL. Note, you need the
+ heat-config-script element built into your images, due to the script group
+ below.
+
+parameters:
+ DeployArtifactURLs:
+ default: []
+ description: A list of HTTP URLs containing deployment artifacts.
+ Currently supports tarballs and RPM packages.
+ type: comma_delimited_list
+
+resources:
+ DeployArtifacts:
+ type: OS::Heat::SoftwareConfig
+ properties:
+ group: script
+ inputs:
+ - name: artifact_urls
+ default: {list_join: [' ', {get_param: DeployArtifactURLs}]}
+ config: {get_file: ./deploy-artifacts.sh}
+
+outputs:
+ OS::stack_id:
+ description: The ID of the DeployArtifacts resource.
+ value: {get_resource: DeployArtifacts}