+ SNAPSHOT_SPEC_FILE=/var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/snapshot_spec.json + '[' '!' -f /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/snapshot_spec.json ']' + DATA_FILE=/var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/data.json + '[' '!' -f /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/data.json ']' ++ jq '.components | map(select(.repositories | map(select((has("tags")|not) or (.tags | IN([])))) | length > 0)) | length' /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/snapshot_spec.json + '[' 0 -ne 0 ']' + RESULTS_FILE=/var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/results/push-snapshot-results.json ++ mktemp + RESULTS_JSON_FILE=/tmp/tmp.g8BseDjEfO + echo '{"images":[]}' + RUNNING_JOBS='\j' + CONCURRENT_LIMIT=20 + REQUEST_COUNT=0 + SUCCESS=true ++ mktemp -d + TMP_RESULTS_DIR=/tmp/tmp.rFE0TAQrmY ++ jq -r '.mapping.defaults.pushSourceContainer | if . == null then true else . end' /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/data.json + defaultPushSourceContainer=false + COPY_BUNDLE_MIGRATIONS=false ++ jq -r .application /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/snapshot_spec.json + application=tsf-app-hkbw ++ jq '.components | length' /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/snapshot_spec.json + NUM_COMPONENTS=1 + printf 'Beginning "%s" for "%s"\n\n' managed-4zt7x-push-snapshot tsf-app-hkbw Beginning "managed-4zt7x-push-snapshot" for "tsf-app-hkbw" + (( i = 0 )) + (( i < NUM_COMPONENTS )) ++ jq -c --argjson i 0 '.components[$i]' /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/snapshot_spec.json + component='{"containerImage":"quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2","name":"tsf-comp-skua","source":{"git":{"revision":"acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5","url":"https://github.com/rhads-tsf-qe/testrepo"}},"version":"","repository":"quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua","metadata":{"env_variables":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","container=oci"],"labels":[{"name":"architecture","value":"x86_64"},{"name":"build-date","value":"2026-03-27T00:03:04Z"},{"name":"com.redhat.component","value":"ubi8-container"},{"name":"com.redhat.license_terms","value":"https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI"},{"name":"cpe","value":"cpe:/a:redhat:enterprise_linux:8::appstream"},{"name":"description","value":"The Universal Base Image is designed and engineered to be the base layer for all of your containerized applications, middleware and utilities. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly."},{"name":"distribution-scope","value":"public"},{"name":"io.buildah.version","value":"1.42.2"},{"name":"io.k8s.description","value":"The Universal Base Image is designed and engineered to be the base layer for all of your containerized applications, middleware and utilities. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly."},{"name":"io.k8s.display-name","value":"Red Hat Universal Base Image 8"},{"name":"io.openshift.expose-services","value":""},{"name":"io.openshift.tags","value":"base rhel8"},{"name":"maintainer","value":"Red Hat, Inc."},{"name":"name","value":"ubi8/ubi"},{"name":"org.opencontainers.image.created","value":"2026-03-27T00:03:04Z"},{"name":"org.opencontainers.image.revision","value":"acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5"},{"name":"org.opencontainers.image.source","value":"https://github.com/rhads-tsf-qe/testrepo"},{"name":"release","value":"1774368078"},{"name":"summary","value":"Provides the latest release of Red Hat Universal Base Image 8."},{"name":"url","value":"https://catalog.redhat.com/en/search?searchType=containers"},{"name":"vcs-ref","value":"acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5"},{"name":"vcs-type","value":"git"},{"name":"vendor","value":"Red Hat, Inc."},{"name":"version","value":"8.10"}],"media_type":"application/vnd.docker.container.image.v1+json"},"tags":["latest","acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5"],"repositories":[{"url":"quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua","tags":["latest","acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5"]}]}' ++ jq -r .containerImage + containerImage=quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 ++ echo quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 ++ cut -d / -f 1 + registry=quay.io + source_repo=quay.io/rhtap_qe/default-tenant/tsf-comp-skua ++ mktemp + SOURCE_AUTH_FILE=/tmp/tmp.kXMOHteOO6 + select-oci-auth quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 + jq -c '.auths."quay.io/rhtap_qe/default-tenant/tsf-comp-skua" = .auths."quay.io" | del(.auths."quay.io")' Token not found for quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 ++ get-image-architectures quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 + arch_json='{"platform":{"architecture":"amd64","os":"linux"},"digest":"sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2","multiarch":false}' ++ jq -s 'map(.platform.architecture)' + arches='[ "amd64" ]' ++ jq -s 'map(.platform.os)' + oses='[ "linux" ]' ++ jq -r '.[0]' + os=linux ++ jq -r '.[0]' + arch=amd64 ++ jq -r .name + name=tsf-comp-skua ++ skopeo inspect --retry-times 3 --raw docker://quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 ++ jq -r .mediaType + media_type=application/vnd.docker.distribution.manifest.v2+json + oras_args=() + platform= + [[ application/vnd.docker.distribution.manifest.v2+json == \a\p\p\l\i\c\a\t\i\o\n\/\v\n\d\.\d\o\c\k\e\r\.\d\i\s\t\r\i\b\u\t\i\o\n\.\m\a\n\i\f\e\s\t\.\l\i\s\t\.\v\2\+\j\s\o\n ]] + [[ application/vnd.docker.distribution.manifest.v2+json == \a\p\p\l\i\c\a\t\i\o\n\/\v\n\d\.\o\c\i\.\i\m\a\g\e\.\i\n\d\e\x\.\v\1\+\j\s\o\n ]] ++ oras resolve --registry-config /tmp/tmp.kXMOHteOO6 quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 + origin_digest=sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 + jq --arg i 0 --argjson arches '[ "amd64" ]' --argjson oses '[ "linux" ]' --arg name tsf-comp-skua --arg sha sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 '.images[$i|tonumber] += {"arches": $arches, "oses": $oses, "name": $name, "shasum": $sha, "urls": []}' /tmp/tmp.g8BseDjEfO + mv /tmp/tmp.g8BseDjEfO.tmp /tmp/tmp.g8BseDjEfO ++ jq -r .pushSourceContainer + pushSourceContainer=null ++ jq 'has("pushSourceContainer")' + hasPushSourceContainer=false + [[ null == \t\r\u\e ]] + [[ false == \f\a\l\s\e ]] + [[ false == \t\r\u\e ]] + migration_digest= + migration_tag= + [[ false == \t\r\u\e ]] ++ jq -c '.repositories | length' + NUM_REPOS=1 + (( j = 0 )) + (( j < NUM_REPOS )) ++ jq -c --argjson j 0 '.repositories[$j]' + repository='{"url":"quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua","tags":["latest","acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5"]}' ++ jq .tags + imageTags='[ "latest", "acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5" ]' ++ jq -r .url + repository_url=quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua + '[' -n '' ']' ++ jq -r '.[]' + for tag in $(jq -r '.[]' <<< "$imageTags") + wait_for_slot + (( 0 >= 20 )) + (( ++REQUEST_COUNT )) + echo 'Request Count: 1' Request Count: 1 + '[' -n '' ']' + for tag in $(jq -r '.[]' <<< "$imageTags") + wait_for_slot + (( 1 >= 20 )) + push_image sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 tsf-comp-skua quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua latest '' + (( ++REQUEST_COUNT )) + echo 'Request Count: 2' Request Count: 2 + '[' -n '' ']' + [[ false == \t\r\u\e ]] + (( j++ )) + (( j < NUM_REPOS )) + (( i++ )) + (( i < NUM_COMPONENTS )) + push_image sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 tsf-comp-skua quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 '' + echo 'Waiting for all jobs to complete....' Waiting for all jobs to complete.... + (( 2 > 0 )) + wait -n + (( 1 > 0 )) + wait -n + (( 0 > 0 )) + echo 'Printing outputs for each push image' Printing outputs for each push image + for file in "$TMP_RESULTS_DIR"/*.out ++ basename /tmp/tmp.rFE0TAQrmY/tsf-comp-skua-acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5.out .out + echo '=== tsf-comp-skua-acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 ===' === tsf-comp-skua-acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 === + cat /tmp/tmp.rFE0TAQrmY/tsf-comp-skua-acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5.out ++ mktemp + DEST_AUTH_FILE=/tmp/tmp.pUPPjpkWdv ++ echo quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua ++ cut -d / -f 1 + registry=quay.io + '[' quay.io = docker.io ']' + select-oci-auth quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua + jq -c '.auths."quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua" = .auths."quay.io" | del(.auths."quay.io")' Using token for quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua + oras_args=() + '[' -n '' ']' ++ oras resolve --registry-config /tmp/tmp.pUPPjpkWdv quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 Error response from registry: failed to resolve digest: quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5: not found ++ true + destination_digest= + [[ '' != \s\h\a\2\5\6\:\e\5\3\b\1\f\a\9\b\c\f\3\b\1\a\2\e\6\e\9\7\5\e\f\2\e\5\2\1\e\9\b\b\9\3\2\3\1\4\6\6\d\3\7\5\b\6\8\3\2\e\4\f\8\c\0\c\d\1\a\8\2\c\2 ]] + printf '* Pushing component: %s to %s:%s\n' tsf-comp-skua quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 * Pushing component: tsf-comp-skua to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 ++ mktemp -d + DOCKER_CONFIG=/tmp/tmp.d737jqZJAw + export DOCKER_CONFIG + jq -s 'reduce .[] as $item ({}; . * $item)' /tmp/tmp.kXMOHteOO6 /tmp/tmp.pUPPjpkWdv + [[ false == \t\r\u\e ]] + attempt=0 + '[' 0 -gt 3 ']' + [[ false == \t\r\u\e ]] + cosign copy -f quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sbom to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sbom... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.att to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.att... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sig to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sig... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5... + break + '[' 0 -gt 3 ']' + unset DOCKER_CONFIG + jq -n --arg name tsf-comp-skua --arg url quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5 '{name: $name, url: $url}' + echo + for file in "$TMP_RESULTS_DIR"/*.out ++ basename /tmp/tmp.rFE0TAQrmY/tsf-comp-skua-latest.out .out === tsf-comp-skua-latest === + echo '=== tsf-comp-skua-latest ===' + cat /tmp/tmp.rFE0TAQrmY/tsf-comp-skua-latest.out ++ mktemp + DEST_AUTH_FILE=/tmp/tmp.vJxrVwzC56 ++ echo quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua ++ cut -d / -f 1 + registry=quay.io + '[' quay.io = docker.io ']' + select-oci-auth quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua + jq -c '.auths."quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua" = .auths."quay.io" | del(.auths."quay.io")' Using token for quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua + oras_args=() + '[' -n '' ']' ++ oras resolve --registry-config /tmp/tmp.vJxrVwzC56 quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest Error response from registry: failed to resolve digest: quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest: not found ++ true + destination_digest= + [[ '' != \s\h\a\2\5\6\:\e\5\3\b\1\f\a\9\b\c\f\3\b\1\a\2\e\6\e\9\7\5\e\f\2\e\5\2\1\e\9\b\b\9\3\2\3\1\4\6\6\d\3\7\5\b\6\8\3\2\e\4\f\8\c\0\c\d\1\a\8\2\c\2 ]] + printf '* Pushing component: %s to %s:%s\n' tsf-comp-skua quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua latest * Pushing component: tsf-comp-skua to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest ++ mktemp -d + DOCKER_CONFIG=/tmp/tmp.YkinWmKXdg + export DOCKER_CONFIG + jq -s 'reduce .[] as $item ({}; . * $item)' /tmp/tmp.kXMOHteOO6 /tmp/tmp.vJxrVwzC56 + [[ false == \t\r\u\e ]] + attempt=0 + '[' 0 -gt 3 ']' + [[ false == \t\r\u\e ]] + cosign copy -f quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sig to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sig... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sbom to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.sbom... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.att to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:sha256-e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2.att... Copying quay.io/rhtap_qe/default-tenant/tsf-comp-skua@sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2 to quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest... + break + '[' 0 -gt 3 ']' + unset DOCKER_CONFIG + jq -n --arg name tsf-comp-skua --arg url quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest '{name: $name, url: $url}' + echo + '[' true '!=' true ']' ++ mktemp + PUSHES_FILE=/tmp/tmp.WcW5v9noGl + jq -s . /tmp/tmp.rFE0TAQrmY/tsf-comp-skua-acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5.json /tmp/tmp.rFE0TAQrmY/tsf-comp-skua-latest.json + jq --slurpfile PUSHES /tmp/tmp.WcW5v9noGl ' reduce $PUSHES[0][] as $p (.; (.images[] | select(.name == $p.name).urls) += [$p.url]) ' /tmp/tmp.g8BseDjEfO + tee /var/workdir/release/32b46c8d-11c0-4e18-92bd-1d7fe2bda568/results/push-snapshot-results.json { "images": [ { "arches": [ "amd64" ], "oses": [ "linux" ], "name": "tsf-comp-skua", "shasum": "sha256:e53b1fa9bcf3b1a2e6e975ef2e521e9bb93231466d375b6832e4f8c0cd1a82c2", "urls": [ "quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:acd5fd759aede4ad2e07b04c7c2b0ff5c2af04d5", "quay.io/rhtap_qe/default-tenant-managed/tsf-comp-skua:latest" ] } ] } + rm -f /tmp/tmp.g8BseDjEfO /tmp/tmp.g8BseDjEfO.tmp /tmp/tmp.WcW5v9noGl Completed "managed-4zt7x-push-snapshot" for "tsf-app-hkbw" + printf 'Completed "%s" for "%s"\n\n' managed-4zt7x-push-snapshot tsf-app-hkbw