aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/deploy-artifacts.sh
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.sh
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.sh')
-rw-r--r--puppet/deploy-artifacts.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/puppet/deploy-artifacts.sh b/puppet/deploy-artifacts.sh
new file mode 100644
index 00000000..22fde9a7
--- /dev/null
+++ b/puppet/deploy-artifacts.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+TMP_DATA=$(mktemp -d)
+function cleanup {
+ rm -Rf "$TMP_DATA"
+}
+trap cleanup EXIT
+
+if [ -n "$artifact_urls" ]; then
+ for URL in $(echo $artifact_urls | sed -e "s| |\n|g" | sort -u); do
+ curl -o $TMP_DATA/file_data "$artifact_urls"
+ if file -b $TMP_DATA/file_data | grep RPM &>/dev/null; then
+ yum install -y $TMP_DATA/file_data
+ elif file -b $TMP_DATA/file_data | grep 'gzip compressed data' &>/dev/null; then
+ pushd /
+ tar xvzf $TMP_DATA/file_data
+ popd
+ else
+ echo "ERROR: Unsupported file format."
+ exit 1
+ fi
+ rm $TMP_DATA/file_data
+ done
+else
+ echo "No artifact_urls was set. Skipping..."
+fi