+ echo -n c3903452-da69-4a1a-802b-30157628a849 + RESULTS_DIR_PATH=results + '[' -n c3903452-da69-4a1a-802b-30157628a849 ']' + mkdir -p /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849 + RESULTS_DIR_PATH=c3903452-da69-4a1a-802b-30157628a849/results + mkdir -p /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/results + echo -n c3903452-da69-4a1a-802b-30157628a849/results + RELEASE_PATH=c3903452-da69-4a1a-802b-30157628a849/release.json + echo -n c3903452-da69-4a1a-802b-30157628a849/release.json + get-resource release ex-registry-sh-42f2f214/snapshot-sample-42f2f214-p92pf + tee /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/release.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "Release", "metadata": { "creationTimestamp": "2026-08-28T12:58:23Z", "finalizers": [ "appstudio.redhat.com/release-finalizer" ], "generateName": "snapshot-sample-42f2f214-", "generation": 1, "labels": { "appstudio.openshift.io/application": "appstudio", "appstudio.openshift.io/component": "dc-metro-map", "pac.test.appstudio.openshift.io/event-type": "push", "release.appstudio.openshift.io/automated": "true", "release.appstudio.openshift.io/releasePlan": "source-releaseplan", "release.appstudio.openshift.io/snapshot": "snapshot-sample-42f2f214" }, "name": "snapshot-sample-42f2f214-p92pf", "namespace": "ex-registry-sh-42f2f214", "resourceVersion": "8107", "uid": "05f0cc15-54be-44f9-9432-c89f55de39a0" }, "spec": { "gracePeriodDays": 7, "releasePlan": "source-releaseplan", "snapshot": "snapshot-sample-42f2f214" }, "status": { "attribution": { "author": "kubernetes-admin", "standingAuthorization": true }, "automated": true, "conditions": [ { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Progressing", "status": "False", "type": "Released" }, { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Succeeded", "status": "True", "type": "Validated" }, { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Skipped", "status": "True", "type": "TenantCollectorsPipelineProcessed" }, { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Skipped", "status": "True", "type": "ManagedCollectorsPipelineProcessed" }, { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Skipped", "status": "True", "type": "TenantPipelineProcessed" }, { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Progressing", "status": "False", "type": "ManagedPipelineProcessed" } ], "expirationTime": "2026-09-04T12:58:23Z", "managedPipelineAttempts": [ { "pipelineRun": "ex-registry-sh-managed-42f2f214/managed-rhmst", "roleBindings": { "tenantRoleBinding": "ex-registry-sh-42f2f214/snapshot-sample-42f2f214-p92pf-rolebinding-for-release-pipp558j" }, "startTime": "2026-08-28T12:58:23Z", "status": "Progressing" } ], "managedProcessing": { "pipelineRun": "ex-registry-sh-managed-42f2f214/managed-rhmst", "roleBindings": { "tenantRoleBinding": "ex-registry-sh-42f2f214/snapshot-sample-42f2f214-p92pf-rolebinding-for-release-pipp558j" }, "startTime": "2026-08-28T12:58:23Z" }, "startTime": "2026-08-28T12:58:23Z", "target": "ex-registry-sh-managed-42f2f214", "validation": { "time": "2026-08-28T12:58:23Z" } } } + RELEASEPLAN_PATH=c3903452-da69-4a1a-802b-30157628a849/release_plan.json + echo -n c3903452-da69-4a1a-802b-30157628a849/release_plan.json + get-resource releaseplan ex-registry-sh-42f2f214/source-releaseplan + tee /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/release_plan.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "ReleasePlan", "metadata": { "creationTimestamp": "2026-08-28T12:58:23Z", "generation": 1, "labels": { "originating-tool": "push-to-external-registry-self-hosted-quay", "release.appstudio.openshift.io/author": "kubernetes-admin", "release.appstudio.openshift.io/auto-release": "true", "release.appstudio.openshift.io/releasePlanAdmission": "demo", "release.appstudio.openshift.io/standing-attribution": "true" }, "name": "source-releaseplan", "namespace": "ex-registry-sh-42f2f214", "resourceVersion": "8084", "uid": "a8b9f242-a4b4-400a-9db8-023f58461c05" }, "spec": { "application": "appstudio", "releaseGracePeriodDays": 7, "target": "ex-registry-sh-managed-42f2f214" }, "status": { "conditions": [ { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Matched", "status": "True", "type": "Matched" } ], "releasePlanAdmission": { "active": true, "name": "ex-registry-sh-managed-42f2f214/demo" } } } + RELEASEPLANADMISSION_PATH=c3903452-da69-4a1a-802b-30157628a849/release_plan_admission.json + echo -n c3903452-da69-4a1a-802b-30157628a849/release_plan_admission.json + get-resource releaseplanadmission ex-registry-sh-managed-42f2f214/demo + tee /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/release_plan_admission.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "ReleasePlanAdmission", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"appstudio.redhat.com/v1alpha1\",\"kind\":\"ReleasePlanAdmission\",\"metadata\":{\"annotations\":{},\"labels\":{\"originating-tool\":\"push-to-external-registry-self-hosted-quay\"},\"name\":\"demo\",\"namespace\":\"ex-registry-sh-managed-42f2f214\"},\"spec\":{\"applications\":[\"appstudio\"],\"data\":{\"mapping\":{\"components\":[{\"name\":\"dc-metro-map\",\"repositories\":[{\"url\":\"quay-service.quay/test-org/released-dc-metro-map\"}]}],\"defaults\":{\"public\":true,\"pushSourceContainer\":false,\"tags\":[\"latest\"]},\"registrySecret\":\"quay-api-token\"}},\"origin\":\"ex-registry-sh-42f2f214\",\"pipeline\":{\"pipelineRef\":{\"ociStorage\":\"quay-service.quay/test-org/trusted-artifacts\",\"params\":[{\"name\":\"url\",\"value\":\"https://github.com/konflux-ci/release-service-catalog\"},{\"name\":\"revision\",\"value\":\"7e7e35208545be3f55768daf62dc7955c37b077f\"},{\"name\":\"pathInRepo\",\"value\":\"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml\"}],\"resolver\":\"git\"},\"serviceAccountName\":\"release-service-account\",\"timeouts\":{\"pipeline\":\"4h0m0s\",\"tasks\":\"4h0m0s\"}},\"policy\":\"ex-registry-sh-policy-42f2f214\"}}\n" }, "creationTimestamp": "2026-08-28T12:58:22Z", "generation": 1, "labels": { "originating-tool": "push-to-external-registry-self-hosted-quay", "release.appstudio.openshift.io/block-releases": "false" }, "name": "demo", "namespace": "ex-registry-sh-managed-42f2f214", "resourceVersion": "8085", "uid": "b2856492-9d53-444e-b13e-0c0f8e3ef3b5" }, "spec": { "applications": [ "appstudio" ], "data": { "mapping": { "components": [ { "name": "dc-metro-map", "repositories": [ { "url": "quay-service.quay/test-org/released-dc-metro-map" } ] } ], "defaults": { "public": true, "pushSourceContainer": false, "tags": [ "latest" ] }, "registrySecret": "quay-api-token" } }, "origin": "ex-registry-sh-42f2f214", "pipeline": { "pipelineRef": { "ociStorage": "quay-service.quay/test-org/trusted-artifacts", "params": [ { "name": "url", "value": "https://github.com/konflux-ci/release-service-catalog" }, { "name": "revision", "value": "7e7e35208545be3f55768daf62dc7955c37b077f" }, { "name": "pathInRepo", "value": "pipelines/managed/push-to-external-registry/push-to-external-registry.yaml" } ], "resolver": "git" }, "serviceAccountName": "release-service-account", "timeouts": { "pipeline": "4h0m0s", "tasks": "4h0m0s" } }, "policy": "ex-registry-sh-policy-42f2f214" }, "status": { "conditions": [ { "lastTransitionTime": "2026-08-28T12:58:23Z", "message": "", "reason": "Matched", "status": "True", "type": "Matched" } ], "releasePlans": [ { "active": true, "name": "ex-registry-sh-42f2f214/source-releaseplan" } ], "retryInfo": { "enabled": false, "reason": "pipeline not configured for retries" } } } + RELEASESERVICECONFIG_PATH=c3903452-da69-4a1a-802b-30157628a849/release_service_config.json + echo -n c3903452-da69-4a1a-802b-30157628a849/release_service_config.json + get-resource releaseserviceconfig release-service/release-service-config + tee /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/release_service_config.json { "apiVersion": "appstudio.redhat.com/v1alpha1", "kind": "ReleaseServiceConfig", "metadata": { "creationTimestamp": "2026-08-28T12:54:38Z", "generation": 1, "labels": { "konflux.konflux-ci.dev/component": "release", "konflux.konflux-ci.dev/owner": "konflux-release-service" }, "name": "release-service-config", "namespace": "release-service", "ownerReferences": [ { "apiVersion": "konflux.konflux-ci.dev/v1alpha1", "blockOwnerDeletion": true, "controller": true, "kind": "KonfluxReleaseService", "name": "konflux-release-service", "uid": "303b459c-c729-4b58-93f9-208d8a19d8bf" } ], "resourceVersion": "5735", "uid": "1ce3c1e7-870b-46b4-a217-01bacc47e873" }, "spec": { "debug": false } } Fetching Snapshot Spec + echo -e '\nFetching Snapshot Spec' + SNAPSHOTSPEC_PATH=c3903452-da69-4a1a-802b-30157628a849/snapshot_spec.json + echo -n c3903452-da69-4a1a-802b-30157628a849/snapshot_spec.json + get-resource snapshot ex-registry-sh-42f2f214/snapshot-sample-42f2f214 '{.spec}' + jq '(if (.componentGroup == null or .componentGroup == "") then .componentGroup = .application else . end) | del(.application)' + tee /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/snapshot_spec.json { "artifacts": {}, "components": [ { "containerImage": "quay-service.quay/test-org/dcmetromap@sha256:544259be8bcd9e6a2066224b805d854d863064c9b64fa3a87bfcd03f5b0f28e6", "name": "dc-metro-map", "source": { "git": { "revision": "d49914874789147eb2de9bb6a12cd5d150bfff92", "url": "https://github.com/redhat-appstudio-qe/dc-metro-map-release" } } } ], "componentGroup": "appstudio" } ++ get-resource snapshot ex-registry-sh-42f2f214/snapshot-sample-42f2f214 '{.metadata.labels}' + labels='{"appstudio.openshift.io/application":"appstudio","appstudio.openshift.io/component":"dc-metro-map","originating-tool":"push-to-external-registry-self-hosted-quay","pac.test.appstudio.openshift.io/event-type":"push","test.appstudio.openshift.io/type":"component"}' ++ jq -r '."appstudio.openshift.io/build-pipelinerun" // ""' + BUILD_ID= + echo -n '' + tee /tekton/results/snapshotBuildId + echo -e '\nGenerating collectors data' Generating collectors data ++ get-resource release ex-registry-sh-42f2f214/snapshot-sample-42f2f214-p92pf '{.status.collectors}' ***collectors status {} *** + collectors_status='{}' + echo '***collectors status' + echo '{}' + echo '***' ++ jq -c ' def deepmerge(a; b): reduce b[] as $item (a; reduce ($item | keys_unsorted[]) as $key (.; $item[$key] as $val | ($val | type) as $type | .[$key] = if ($type == "object") then deepmerge({}; [if .[$key] == null then {} else .[$key] end, $val]) elif ($type == "array") then (.[$key] + $val | unique) else $val end) ); # Ensure we safely handle missing collectors (.? // {}) as $collectors | # Flatten and combine the managed and tenant sections [($collectors.managed? // {} | to_entries | map(.value)) + ($collectors.tenant? // {} | to_entries | map(.value))] | flatten | deepmerge({}; .) ' + collectors_result='{}' + echo '***collectors' + jq ***collectors {} *** Fetching merged data json + echo '***' + echo -e '\nFetching merged data json' ++ get-resource release ex-registry-sh-42f2f214/snapshot-sample-42f2f214-p92pf '{.spec.data}' + release_result='{}' ++ get-resource releaseplan ex-registry-sh-42f2f214/source-releaseplan '{.spec.data}' + release_plan_result='{}' ++ get-resource releaseplanadmission ex-registry-sh-managed-42f2f214/demo '{.spec.data}' + release_plan_admission_result='{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' ++ merge-json '{}' '{}' + merged_output='{}' ++ merge-json '{}' '{}' + merged_output='{}' ++ merge-json '{}' '{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' + merged_output='{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' + DATA_PATH=c3903452-da69-4a1a-802b-30157628a849/data.json + echo -n c3903452-da69-4a1a-802b-30157628a849/data.json + echo '{"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}}' + tee /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/data.json {"mapping":{"components":[{"name":"dc-metro-map","repositories":[{"url":"quay-service.quay/test-org/released-dc-metro-map"}]}],"defaults":{"public":true,"pushSourceContainer":false,"tags":["latest"]},"registrySecret":"quay-api-token"}} ++ jq -c .spec.pipeline.pipelineRef /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/release_plan_admission.json + pipelineref='{"ociStorage":"quay-service.quay/test-org/trusted-artifacts","params":[{"name":"url","value":"https://github.com/konflux-ci/release-service-catalog"},{"name":"revision","value":"7e7e35208545be3f55768daf62dc7955c37b077f"},{"name":"pathInRepo","value":"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml"}],"resolver":"git"}' ++ jq -r '.resolver // ""' + resolver=git + '[' git == git ']' ++ jq -r '.params[] | select(.name=="url") | .value' + url=https://github.com/konflux-ci/release-service-catalog ++ jq -r '.params[] | select(.name=="revision") | .value' + revision=7e7e35208545be3f55768daf62dc7955c37b077f ++ jq -r '.params[] | select(.name=="pathInRepo") | .value' + pathinrepo=pipelines/managed/push-to-external-registry/push-to-external-registry.yaml + orgrepo=konflux-ci/release-service-catalog ++ echo konflux-ci/release-service-catalog ++ cut -f1 -d/ + org=konflux-ci ++ echo konflux-ci/release-service-catalog ++ cut -f2 -d/ ++ cut -d. -f1 + repo=release-service-catalog ++ curl -s https://api.github.com/repos/konflux-ci/release-service-catalog/commits/7e7e35208545be3f55768daf62dc7955c37b077f ++ jq -r '.sha // ""' + sha=7e7e35208545be3f55768daf62dc7955c37b077f + org=konflux-ci + repo=release-service-catalog + revision=7e7e35208545be3f55768daf62dc7955c37b077f + pathinrepo=pipelines/managed/push-to-external-registry/push-to-external-registry.yaml + sha=7e7e35208545be3f55768daf62dc7955c37b077f + echo '' + echo 'Release Pipeline Ref Info:' + echo -------------------------- Release Pipeline Ref Info: -------------------------- ++ jq -n -c --arg org konflux-ci --arg repo release-service-catalog --arg revision 7e7e35208545be3f55768daf62dc7955c37b077f --arg pathinrepo pipelines/managed/push-to-external-registry/push-to-external-registry.yaml --arg sha 7e7e35208545be3f55768daf62dc7955c37b077f '$ARGS.named' + json='{"org":"konflux-ci","repo":"release-service-catalog","revision":"7e7e35208545be3f55768daf62dc7955c37b077f","pathinrepo":"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml","sha":"7e7e35208545be3f55768daf62dc7955c37b077f"}' + echo '{"org":"konflux-ci","repo":"release-service-catalog","revision":"7e7e35208545be3f55768daf62dc7955c37b077f","pathinrepo":"pipelines/managed/push-to-external-registry/push-to-external-registry.yaml","sha":"7e7e35208545be3f55768daf62dc7955c37b077f"}' + jq . { "org": "konflux-ci", "repo": "release-service-catalog", "revision": "7e7e35208545be3f55768daf62dc7955c37b077f", "pathinrepo": "pipelines/managed/push-to-external-registry/push-to-external-registry.yaml", "sha": "7e7e35208545be3f55768daf62dc7955c37b077f" } ++ jq -r '.singleComponentMode // "false"' /var/workdir/release/c3903452-da69-4a1a-802b-30157628a849/data.json + SINGLE_COMPONENT_MODE=false ++ echo ex-registry-sh-42f2f214/snapshot-sample-42f2f214 ++ cut -f2 -d/ + SNAPSHOT_NAME=snapshot-sample-42f2f214 ++ echo ex-registry-sh-42f2f214/snapshot-sample-42f2f214 ++ cut -f1 -d/ + SNAPSHOT_NAMESPACE=ex-registry-sh-42f2f214 + echo -n false + tee /tekton/results/singleComponentMode + echo -n snapshot-sample-42f2f214 + tee /tekton/results/snapshotName + echo -n ex-registry-sh-42f2f214 + tee /tekton/results/snapshotNamespace falsesnapshot-sample-42f2f214ex-registry-sh-42f2f214