Skip to content

Commit

Permalink
fix(KFLUXBUGS-1278): make iib errors available to users
Browse files Browse the repository at this point in the history
This commit exposes the iib error if one occurred in the iib operation
and bubbles it up to the pipelineRun as a result. It also changes the
iib-add-fbc-fragment-to-index-image task to never fail.

Signed-off-by: Johnny Bieren <[email protected]>
  • Loading branch information
johnbieren committed Aug 28, 2024
1 parent b6a1ee0 commit d9ad195
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ kind: Task
metadata:
name: t-add-fbc-fragment-to-index-image
labels:
app.kubernetes.io/version: "0.2.0"
app.kubernetes.io/version: "0.2.1"
annotations:
tekton.dev/pipelines.minVersion: "0.12.1"
tekton.dev/tags: release
Expand Down Expand Up @@ -62,6 +62,10 @@ spec:
description: Set the genericResult if FBC Fragment is Opt-In and should be published
- name: indexImageDigests
description: The digests for each arch for the manifest list of the index image
- name: iibLog
description: The log from the IIB request
- name: exitCode
description: The exit code from the task
steps:
- name: s-add-fbc-fragment-to-index-image
image: >-
Expand Down Expand Up @@ -225,6 +229,11 @@ spec:
state=\$(jq -r ".state" <<< \${build_info})
# remove the history as it breaks the results build up
jq -r 'del(.state_history)' <<< \${build_info} | jq -c . > $(results.jsonBuildInfo.path)
url=\$(jq -r ".logs.url" <<< \${build_info})
echo IIB log url is: "\${url}" > \$(results.iibLog.path)
echo Printing last 1,000 characters from the log >> \$(results.iibLog.path)
# Tekton results max out at 4096 chars so we only take last 1000 from the log
/usr/bin/curl -s "\${url}" | tail -c 1000 >> \$(results.iibLog.path)
case \${state} in
"complete") break ;;
"failed") break ;;
Expand All @@ -246,6 +255,7 @@ spec:
# it should continue only if the IIB build status is complete
if [ ${BUILDEXIT} -eq 0 ]; then
echo -n 0 > "$(results.exitCode.path)"
# get the manifest digests
indexImageCopy=`cat $(results.jsonBuildInfo.path) | jq -cr .internal_index_image_copy`
Expand All @@ -260,17 +270,17 @@ spec:
echo -n $indexImageDigests > $(results.indexImageDigests.path)
if [ -z "${indexImageDigests}" ] ; then
echo "Index image produced is not multi-arch with a manifest list"
exit 1
echo -n 1 > "$(results.exitCode.path)"
fi
else
if [ ${BUILDEXIT} -eq 124 ]; then
echo "Timeout while waiting for the build to finish"
echo "Build timeout" < $(results.buildState.path)
exit $BUILDEXIT
else
exit $BUILDEXIT
fi
echo -n "" > $(results.indexImageDigests.path)

Check warning

Code scanning / shellcheck

SC2046 Warning

Quote this to prevent word splitting.
echo -n "$BUILDEXIT" > "$(results.exitCode.path)"
fi
exit 0
volumes:
- name: service-account-secret
secret:
Expand Down
6 changes: 5 additions & 1 deletion internal-services/catalog/iib-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ kind: Pipeline
metadata:
name: iib
labels:
app.kubernetes.io/version: "0.2"
app.kubernetes.io/version: "0.3"
annotations:
tekton.dev/pipelines.minVersion: "0.12.1"
tekton.dev/tags: fbc
Expand Down Expand Up @@ -92,3 +92,7 @@ spec:
value: $(tasks.t-add-fbc-fragment-to-index-image.results.genericResult)
- name: indexImageDigests
value: $(tasks.t-add-fbc-fragment-to-index-image.results.indexImageDigests)
- name: iibLog
value: $(tasks.t-add-fbc-fragment-to-index-image.results.iibLog)
- name: exitCode
value: $(tasks.t-add-fbc-fragment-to-index-image.results.exitCode)

0 comments on commit d9ad195

Please sign in to comment.