Add group-component and NVR tags when mirroring to art-images-share - #3330
Add group-component and NVR tags when mirroring to art-images-share#3330redhat-chai-bot wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift-eng/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughKonflux build records now include delivery repository metadata. Image mirroring uses this metadata and NVR values to create additional Quay tags while preserving existing tags and skip conditions. ChangesKonflux image mirroring
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The change adds group-component and NVR tags for mirrored images with defined fallbacks and test coverage; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant KonfluxImageBuilder
participant KonfluxOcpPipeline
participant Quay
KonfluxImageBuilder->>KonfluxOcpPipeline: provide delivery_repo_name and NVRs
KonfluxOcpPipeline->>Quay: sync image with repository, NVR, image, and version tags
🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
Full details: No-Weak-CryptoExplanation PASS. The pull request adds delivery-repository name extraction and image tag construction only. The changed files contain no MD5, SHA1, DES, RC4, 3DES, Blowfish, or ECB usage, no crypto-library imports or calls, no custom crypto implementation, and no secret or token comparisons. The Full details: Container-PrivilegesExplanation PASS: The pull request changes only Python source and test files. The added code handles build-record fields and image tags. No added manifest or security setting contains privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation. Existing privilege declarations are outside the pull-request diff. Full details: No-Sensitive-Data-In-LogsExplanation No sensitive-data logging failure was introduced. The diff adds Full details: No-Hardcoded-SecretsExplanation No hardcoded secrets were introduced. The parent-to-HEAD diff adds only repository/tag data and test fixtures. The added URLs contain no credentials, and no added variable named api_key, secret, token, or password receives a string literal. The added literals contain no private key, credential, or base64 string longer than 32 characters. Full details: No-Injection-VectorsExplanation No stated injection vector is introduced. The PR only derives tag strings from metadata and build records, then passes them as arguments to Full details: Ai-AttributionExplanation AI use is explicit in the PR text ( Resolution Amend the pull-request commit message. Remove the AI
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
When mirroring images to art-images-share, add two new tag types: - A floating `<group>-<component>` tag using the delivery repo name (e.g. openshift-4.17-ose-ansible-operator) for stable lookups - The NVR tag(s) for precise build identification Also adds delivery_repo_name to the Konflux build record so it's available during mirroring. Resolves: ART-23164 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
40e12a1 to
e608f21
Compare
|
@redhat-chai-bot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Summary
When mirroring images to
art-images-share, add two new tag types so consumers can look up images more easily:<group>-<component>tag using thedelivery.repo_namefrom ocp-build-data (e.g.openshift-4.17-ose-ansible-operator) — always points to the latest build of a component for a given OCP version, enabling stable lookups that map directly to the ocp-build-data image config.ose-ansible-operator-container-v4.17.0-202506300104.p0.g1234567.assembly.stream.el9) — enables precise build identification by NVR.Changes
1.
doozer/doozerlib/backend/konflux_image_builder.pyAdds
delivery_repo_nameto the Konflux build record, sourced frommetadata.config.delivery.repo_namewith a fallback tometadata.distgit_keywhen not configured.2.
pyartcd/pyartcd/pipelines/ocp4_konflux.pyIn
mirror_images()→sync_build(), usesdelivery_repo_name(with fallback toname) for the group-component tag, and splitsbuild["nvrs"]into individual NVR tags.3.
pyartcd/tests/pipelines/test_ocp4_konflux.py9 new tests covering:
delivery_repo_namewhen presentbuild["name"]whendelivery_repo_nameis absentResolves: ART-23164
AI-generated. Review for accuracy.
@ashwindasr requested in Slack thread
Summary by CodeRabbit