Skip to content

AGENT-1522: bump InternalReleaseImage to v1#31294

Open
pawanpinjarkar wants to merge 1 commit into
openshift:mainfrom
pawanpinjarkar:promote-iri-api-2-v1
Open

AGENT-1522: bump InternalReleaseImage to v1#31294
pawanpinjarkar wants to merge 1 commit into
openshift:mainfrom
pawanpinjarkar:promote-iri-api-2-v1

Conversation

@pawanpinjarkar

@pawanpinjarkar pawanpinjarkar commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Chores

    • Switched module dependency source to an alternate API provider to control build dependency resolution.
  • Tests

    • Migrated internal release image tests to use the stable v1 machine configuration API to align tests with current stable interfaces.
go mod edit -replace=github.com/openshift/client-go=github.com/andfasano/client-go@agent-1522-bump-iri-v1
go mod edit -replace=github.com/openshift/api=github.com/pawanpinjarkar/api@pr-2863-branch

go get github.com/openshift/client-go
go get github.com/openshift/api

go mod tidy
go mod vendor

Requires

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 11, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 11, 2026

Copy link
Copy Markdown

@pawanpinjarkar: This pull request references AGENT-1522 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.

Details

In 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.

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 8d594463-d489-4e47-b883-7cc1e1aacae0

📥 Commits

Reviewing files that changed from the base of the PR and between 00d544f and 4437a1b.

⛔ Files ignored due to path filters (31)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/api/.ci-operator.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/Dockerfile.ocp is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/features.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/features/features.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types_internalreleaseimage.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1/types_etcd.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1alpha1/clustermonitoringspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1alpha1/kubestatemetricsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/config/applyconfigurations/config/v1alpha1/kubestatemetricsresourcelabels.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/config/applyconfigurations/internal/internal.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/config/applyconfigurations/utils.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/applyconfigurations/internal/internal.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/applyconfigurations/machineconfiguration/v1/internalreleaseimage.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/applyconfigurations/machineconfiguration/v1/internalreleaseimagebundlestatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/applyconfigurations/machineconfiguration/v1/internalreleaseimageref.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/applyconfigurations/machineconfiguration/v1/internalreleaseimagespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/applyconfigurations/machineconfiguration/v1/internalreleaseimagestatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/clientset/versioned/typed/machineconfiguration/v1/generated_expansion.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/clientset/versioned/typed/machineconfiguration/v1/internalreleaseimage.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/client-go/machineconfiguration/clientset/versioned/typed/machineconfiguration/v1/machineconfiguration_client.go is excluded by !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (2)
  • go.mod
  • test/extended/internalreleaseimage/helper.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • go.mod

Walkthrough

Adds go.mod replace directives redirecting OpenShift modules to alternate forks (pseudo-versions), and migrates test/extended/internalreleaseimage helper code from machineconfig v1alpha1 to machineconfig v1 (imports, client field, GetIRI/Delete calls, and feature probe).

Changes

Module Replacement

Layer / File(s) Summary
Module replacement directive
go.mod
Added replace rules in go.mod redirecting github.com/openshift/api to github.com/pawanpinjarkar/api@v0.0.0-20260611132132-df7836b66b8f and github.com/openshift/client-go to github.com/andfasano/client-go@v0.0.0-20260610140239-2ba2f407ca3e.

InternalReleaseImage test helper migration

Layer / File(s) Summary
Imports switched to machineconfig v1 and field removed
test/extended/internalreleaseimage/helper.go
Updated imports to use machineconfigv1 (v1) and removed the McClientV1alpha1 field from IRITestHelper.
Constructor and GetIRI updated
test/extended/internalreleaseimage/helper.go
NewIRITestHelper now initializes only the MachineconfigurationV1() client; GetIRI() returns *v1.InternalReleaseImage via McClientV1.InternalReleaseImages().Get.
Delete and feature probe updated
test/extended/internalreleaseimage/helper.go
DeleteIRI() uses McClientV1.InternalReleaseImages().Delete; skipIfNoRegistryFeatureUnsupported probes MachineconfigurationV1().InternalReleaseImages().Get for not-found behavior.

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: migrating InternalReleaseImage from v1alpha1 to the stable v1 API version.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed In test/extended/internalreleaseimage/internalreleaseimage.go, all Ginkgo Describe/Context/It titles are quoted static strings (no fmt.Sprintf/vars/pod/node/namespace). helper.go only has g.Skip(fm...
Test Structure And Quality ✅ Passed PR updates go.mod and internalreleaseimage/helper.go only; helper has no Ginkgo It/BeforeEach/AfterEach blocks. Cluster waits use PollUntilContextTimeout (30s) and Expect calls include messages.
Microshift Test Compatibility ✅ Passed PR updates go.mod replaces and internalreleaseimage helper to machineconfiguration v1; the existing Ginkgo IRIs tests are already tagged [apigroup:machineconfiguration.openshift.io] so MicroShift w...
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR #31294 only modifies go.mod/go.sum (no new/changed Ginkgo e2e test files), so no SNO multi-node/HA assumptions were introduced.
Topology-Aware Scheduling Compatibility ✅ Passed No topology-aware scheduling constraints added: helper.go creates a simple PodSpec without nodeSelector/affinity/anti-affinity/topology spread/PDB, and only bumps IRI client types to v1; go.mod onl...
Ote Binary Stdout Contract ✅ Passed PR changes include go.mod replace directives and test/extended/internalreleaseimage/helper.go; helper.go contains no fmt.Print/Println/Printf, klog, or os.Stdout writes in main/init/TestMain/Before...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Checked test/extended/internalreleaseimage/internalreleaseimage.go + helper.go: no IPv4-only assumptions (no hardcoded IPv4/CIDRs, ParseIP, IPv4-only policies) and no public-internet URL/host usage...
No-Weak-Crypto ✅ Passed Reviewed go.mod and helper.go for weak crypto markers (MD5/SHA1/DES/RC4/3DES/Blowfish/ECB) and crypto/crypto-subtle usage and found none; no non-constant-time secret/token compares present.
Container-Privileges ✅ Passed PR content includes go.mod replace directives and helper.go changes; helper.go/go.mod contain no privileged/hostPID/hostNetwork/hostIPC/SYS_ADMIN/allowPrivilegeEscalation strings.
No-Sensitive-Data-In-Logs ✅ Passed PR #31294 changes only go.mod/go.sum and vendored API/type files; checked a representative vendored file for log/token/password patterns—none found.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot added the vendor-update Touching vendor dir or related files label Jun 11, 2026
@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: pawanpinjarkar
Once this PR has been reviewed and has the lgtm label, please assign jogeo for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot requested review from p0lyn0mial and sjenning June 11, 2026 19:51

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@go.mod`:
- Line 469: The go.mod currently replaces github.com/openshift/api with a
personal fork (github.com/pawanpinjarkar/api v0.0.0-...) — remove or justify
this replace entry: either revert the replace to a vetted upstream tagged
release or, if the fork is required, add a PR rationale and approval trail in
the PR description referencing the replace line and module name, document
whether this is temporary or permanent, and include provenance evidence
(SBOM/signing/cosign or sigstore attestations), license compatibility and
CVE/osv.dev checks for that specific pseudo-version, and a compatibility
statement confirming no API-breaking changes for
github.com/openshift/api/config/*; block production usage until these
checks/approvals are added or remove the replace and use an officially governed
source.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 1cf63daf-600b-42d4-bc1d-3ec6217ec934

📥 Commits

Reviewing files that changed from the base of the PR and between bde16f5 and 6189ba6.

⛔ Files ignored due to path filters (17)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/api/.ci-operator.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/Dockerfile.ocp is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_cluster_monitoring.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/features.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/features/features.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types_internalreleaseimage.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1/types_etcd.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (1)
  • go.mod

Comment thread go.mod
@pawanpinjarkar

Copy link
Copy Markdown
Contributor Author

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview openshift/api#2880

@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@pawanpinjarkar: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info.

@pawanpinjarkar

Copy link
Copy Markdown
Contributor Author

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview openshift/api#2880

@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@pawanpinjarkar: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info.

@pawanpinjarkar

Copy link
Copy Markdown
Contributor Author

/payload-job-with-prs ?

@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@pawanpinjarkar: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
test/extended/internalreleaseimage/helper.go (1)

51-55: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Incomplete v1alpha1 to v1 migration in test/extended/internalreleaseimage/helper.go. Both GetIRI() (Line 52) and DeleteIRI() (Line 88) still reference the removed h.McClientV1alpha1 field instead of h.McClientV1. The correct v1 migration pattern is shown on Line 244. These references will cause compilation errors.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/extended/internalreleaseimage/helper.go` around lines 51 - 55, GetIRI()
and DeleteIRI() still use the removed h.McClientV1alpha1 client and will not
compile; update both functions to use h.McClientV1 instead (i.e., replace
references to h.McClientV1alpha1.InternalReleaseImages() with
h.McClientV1.InternalReleaseImages()) and keep the existing calls to
Get(context.Background(), IRIResourceName, metav1.GetOptions{}) and
Delete(context.Background(), IRIResourceName, metav1.DeleteOptions{}) unchanged
so they follow the v1 migration pattern used elsewhere (see the pattern around
the other v1 usage).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@test/extended/internalreleaseimage/helper.go`:
- Around line 51-55: GetIRI() and DeleteIRI() still use the removed
h.McClientV1alpha1 client and will not compile; update both functions to use
h.McClientV1 instead (i.e., replace references to
h.McClientV1alpha1.InternalReleaseImages() with
h.McClientV1.InternalReleaseImages()) and keep the existing calls to
Get(context.Background(), IRIResourceName, metav1.GetOptions{}) and
Delete(context.Background(), IRIResourceName, metav1.DeleteOptions{}) unchanged
so they follow the v1 migration pattern used elsewhere (see the pattern around
the other v1 usage).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: dad0f1c4-b0f9-4a6e-8d82-85157cc6056e

📥 Commits

Reviewing files that changed from the base of the PR and between 6189ba6 and 00d544f.

📒 Files selected for processing (1)
  • test/extended/internalreleaseimage/helper.go

@openshift-ci openshift-ci Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label Jun 11, 2026
@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@pawanpinjarkar: all tests passed!

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

@pawanpinjarkar

Copy link
Copy Markdown
Contributor Author

/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview openshift/api#2880 openshift/client-go#383

@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@pawanpinjarkar: it appears that you have attempted to use some version of the payload command, but your comment was incorrectly formatted and cannot be acted upon. See the docs for usage info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review vendor-update Touching vendor dir or related files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants