tripleo-heat-templates/puppet/deploy-artifacts.sh
Alex Schultz 703ff06d0f Fix rpms being installed via DeployArtifactURLs
The deploy-artifacts.sh script is supposed to support installing rpms
when provided by DeployArtifactUrls. The problem is that it uses yum to
install which does not actually work unless the filename ends with .rpm.
This change updates the script to rename the downloaded file to end with
.rpm if it is an rpm so that it is properly installed.

Change-Id: I048d2b4474f9efe424e98e3868f325704e9c352f
Closes-Bug: #1697102
(cherry picked from commit 84e37fe8c7)
2017-08-15 13:02:14 +00:00

31 lines
800 B
Bash

#!/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 --globoff -o $TMP_DATA/file_data "$URL"
if file -b $TMP_DATA/file_data | grep RPM &>/dev/null; then
mv $TMP_DATA/file_data $TMP_DATA/file_data.rpm
yum install -y $TMP_DATA/file_data.rpm
rm $TMP_DATA/file_data.rpm
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
if [ -f $TMP_DATA/file_data ]; then
rm $TMP_DATA/file_data
fi
done
else
echo "No artifact_urls was set. Skipping..."
fi