diff options
author | Dan Prince <dprince@redhat.com> | 2015-11-13 15:01:13 -0500 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2016-02-26 16:55:44 -0500 |
commit | 55054f02d77ebbca63b6fbd3eab285873452933e (patch) | |
tree | d587a23b6777d4dcd3bf5a228c6864def715c105 /puppet/deploy-artifacts.sh | |
parent | 8411e5a5bc6855d46522122710439e0d2623a2aa (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.sh | 26 |
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 |