Skip to content

Commit

Permalink
Merge pull request #61 from Nordix/overwrite-file
Browse files Browse the repository at this point in the history
make IPA download target fully customizable
  • Loading branch information
metal3-io-bot authored Dec 27, 2024
2 parents 9261591 + 2d513ad commit 5ceaad4
Showing 1 changed file with 18 additions and 19 deletions.
37 changes: 18 additions & 19 deletions get-resource.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@ IPA_BASEURI="${IPA_BASEURI:-https://tarballs.opendev.org/openstack/ironic-python
IPA_BRANCH="$(echo "${IPA_BRANCH:-master}" | tr / -)"
IPA_FLAVOR="${IPA_FLAVOR:-centos9}"

FILENAME="ipa-${IPA_FLAVOR}-${IPA_BRANCH}"
FILENAME_EXT=".tar.gz"
FFILENAME="${FILENAME}${FILENAME_EXT}"
FILENAME="${FILENAME:-ipa-${IPA_FLAVOR}-${IPA_BRANCH}.tar.gz}"
FILENAME_NO_EXT="${FILENAME%%.*}"
DESTNAME="ironic-python-agent"

mkdir -p "${SHARED_DIR}"/html/images "${SHARED_DIR}"/tmp
Expand All @@ -39,41 +38,41 @@ TMPDIR="$(mktemp -d -p "${SHARED_DIR}"/tmp)"
# If we have a CACHEURL and nothing has yet been downloaded
# get header info from the cache

if [ -n "${CACHEURL:-}" ] && [ ! -e "${FFILENAME}.headers" ]; then
curl_with_flags -g --fail -O "${CACHEURL}/${FFILENAME}.headers" || true
if [ -n "${CACHEURL:-}" ] && [ ! -e "${FILENAME}.headers" ]; then
curl_with_flags -g --fail -O "${CACHEURL}/${FILENAME}.headers" || true
fi

# Download the most recent version of IPA
if [ -r "${DESTNAME}.headers" ] ; then
ETAG="$(awk '/ETag:/ {print $2}' "${DESTNAME}.headers" | tr -d "\r")"
cd "${TMPDIR}"
curl_with_flags -g --dump-header "${FFILENAME}.headers" \
-O "${IPA_BASEURI}/${FFILENAME}" \
--header "If-None-Match: ${ETAG}" || cp "${SHARED_DIR}/html/images/${FFILENAME}.headers" .
curl_with_flags -g --dump-header "${FILENAME}.headers" \
-O "${IPA_BASEURI}/${FILENAME}" \
--header "If-None-Match: ${ETAG}" || cp "${SHARED_DIR}/html/images/${FILENAME}.headers" .

# curl didn't download anything because we have the ETag already
# but we don't have it in the images directory
# Its in the cache, go get it
ETAG="$(awk '/ETag:/ {print $2}' "${FFILENAME}.headers" | tr -d "\"\r")"
if [ ! -s "${FFILENAME}" ] && [ ! -e "${SHARED_DIR}/html/images/${FILENAME}-${ETAG}/${FFILENAME}" ]; then
mv "${SHARED_DIR}/html/images/${FFILENAME}.headers" .
curl_with_flags -g -O "${CACHEURL}/${FILENAME}-${ETAG}/${FFILENAME}"
ETAG="$(awk '/ETag:/ {print $2}' "${FILENAME}.headers" | tr -d "\"\r")"
if [ ! -s "${FILENAME}" ] && [ ! -e "${SHARED_DIR}/html/images/${FILENAME_NO_EXT}-${ETAG}/${FILENAME}" ]; then
mv "${SHARED_DIR}/html/images/${FILENAME}.headers" .
curl_with_flags -g -O "${CACHEURL}/${FILENAME_NO_EXT}-${ETAG}/${FILENAME}"
fi
else
cd "${TMPDIR}"
curl_with_flags -g --dump-header "${FFILENAME}.headers" -O "${IPA_BASEURI}/${FFILENAME}"
curl_with_flags -g --dump-header "${FILENAME}.headers" -O "${IPA_BASEURI}/${FILENAME}"
fi

if [ -s "${FFILENAME}" ]; then
tar -xaf "${FFILENAME}"
if [ -s "${FILENAME}" ]; then
tar -xaf "${FILENAME}"

ETAG="$(awk '/ETag:/ {print $2}' "${FFILENAME}.headers" | tr -d "\"\r")"
ETAG="$(awk '/ETag:/ {print $2}' "${FILENAME}.headers" | tr -d "\"\r")"
cd -
chmod 755 "${TMPDIR}"
mv "${TMPDIR}" "${FILENAME}-${ETAG}"
ln -sf "${FILENAME}-${ETAG}/${FFILENAME}.headers" "${DESTNAME}.headers"
ln -sf "${FILENAME}-${ETAG}/${FILENAME}.initramfs" "${DESTNAME}.initramfs"
ln -sf "${FILENAME}-${ETAG}/${FILENAME}.kernel" "${DESTNAME}.kernel"
ln -sf "${FILENAME}-${ETAG}/${FILENAME}.headers" "${DESTNAME}.headers"
ln -sf "${FILENAME}-${ETAG}/${FILENAME_NO_EXT}.initramfs" "${DESTNAME}.initramfs"
ln -sf "${FILENAME}-${ETAG}/${FILENAME_NO_EXT}.kernel" "${DESTNAME}.kernel"
else
rm -rf "${TMPDIR}"
fi

0 comments on commit 5ceaad4

Please sign in to comment.