OCPCRT-458: Add node image RPM diff to release info API response#750
OCPCRT-458: Add node image RPM diff to release info API response#750
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe APIReleaseInfo payload now includes a list of per-machine-OS image stream entries ( Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant APIHandler as Release API Handler
participant ReleaseInfo as releaseInfo service
participant StreamStore as MachineOS Streams Store
participant RpmService as RPM diff service
Client->>APIHandler: GET /release info
APIHandler->>ReleaseInfo: gather base release data (changelog, results...)
APIHandler->>StreamStore: list machine OS streams for tag (async)
alt streams found
StreamStore-->>APIHandler: list of streams
loop per stream
APIHandler->>RpmService: RpmDiffForStream(previousRef, currentRef, stream)
RpmService-->>APIHandler: rpmDiff or error
APIHandler-->ReleaseInfo: append APINodeImageStream(Name, Tag, rpmDiff?)
end
else no streams
APIHandler->>RpmService: RpmDiff(previousTagPullSpec, tagPullSpec)
RpmService-->>APIHandler: rpmDiff or error
APIHandler-->ReleaseInfo: append single APINodeImageStream(fallback name/tag, rpmDiff?)
end
ReleaseInfo-->>APIHandler: NodeImageStreams populated (maybe empty/missing diffs)
APIHandler-->>Client: JSON response (includes nodeImageStreams)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: stbenjam 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 |
|
@stbenjam: This pull request references OCPCRT-458 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
The API was missing the node image RPM diff data that the HTML page displays. This adds a nodeImageRpmDiff field to the APIReleaseInfo struct and fetches it concurrently alongside the changelog generation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the single nodeImageRpmDiff field with a nodeImageStreams array that returns per-stream RPM diffs (e.g. rhel-coreos and rhel-coreos-10 separately). For older payloads without multiple streams, falls back to the legacy single RpmDiff wrapped in a one-element array. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@stbenjam: This pull request references OCPCRT-458 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
|
@stbenjam: all tests passed! 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
nodeImageRpmDifffield to theAPIReleaseInfostruct, exposing the RPM package diff between previous and current node images in the JSON API response🤖 Generated with Claude Code
Testing locally works for me:
From http://localhost:8080/api/v1/releasestream/4.22.0-0.nightly/release/4.22.0-0.nightly-2026-03-30-221541?from=4.22.0-0.nightly-2026-03-30-132356
Summary by CodeRabbit