Skip to content

AGENT-1522: bump InternalReleaseImage to v1#10455

Open
andfasano wants to merge 2 commits into
openshift:masterfrom
andfasano:iri-bump-to-v1
Open

AGENT-1522: bump InternalReleaseImage to v1#10455
andfasano wants to merge 2 commits into
openshift:masterfrom
andfasano:iri-bump-to-v1

Conversation

@andfasano

@andfasano andfasano commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

This patch bumps the openshift/api to fetch the InternalReleaseImage v1.

Requires openshift/api#2880

Note: currently go.mod is temporary patched to allow payload testing as per the following comment openshift/api#2880 (comment)

Summary by CodeRabbit

  • Chores
    • Bumped Kubernetes-related module versions and added an override for an OpenShift API dependency.
    • Updated internal release image handling to target the newer Machine Config API version.
    • Feature-gate resolution now derives and uses the cluster OpenShift version when evaluating feature sets.
  • Tests
    • Aligned unit tests and test helpers to the updated API types and to include an OpenShift version in test clusters.

@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

@andfasano: 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:

This patch bumps the openshift/api to fetch the InternalReleaseImage v1.

Requires openshift/api#2880

Note: currently go.mod is temporary patched to allow payload testing as per the following comment openshift/api#2880 (comment)

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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 65c85c39-8bbe-45c3-97b8-4d2ac65d914f

📥 Commits

Reviewing files that changed from the base of the PR and between 9b19624 and f7a0cef.

📒 Files selected for processing (2)
  • internal/ignition/installmanifests.go
  • internal/ignition/installmanifests_test.go

Walkthrough

This PR bumps Kubernetes modules, adds a replace for github.com/openshift/api, migrates InternalReleaseImage usage from mcfg v1alpha1 to v1 (implementation and tests), and changes feature-set resolution to use the cluster OpenshiftVersion.

Changes

Kubernetes dependency upgrade and API version migration

Layer / File(s) Summary
Kubernetes module and OpenShift API fork setup
go.mod
k8s.io/api and k8s.io/apimachinery are bumped to v0.35.1, k8s.io/kube-openapi pseudo-version is updated, and a replace redirects github.com/openshift/api to github.com/pawanpinjarkar/api.
InternalReleaseImage API migration to v1
internal/ignition/internalreleaseimage_patcher.go, internal/ignition/internalreleaseimage_patcher_test.go
Imports, the internal iri field type, and manifest unmarshalling are changed to use machineconfiguration/v1 (mcfgv1) rather than v1alpha1; tests are updated to instantiate the v1 struct.
Feature-gate resolution and test init
internal/ignition/installmanifests.go, internal/ignition/installmanifests_test.go
isFeatureGateEnabled now derives ocpVersion from cluster.OpenshiftVersion and passes it to features.FeatureSets; test helper initializes generator cluster with OpenshiftVersion: "4.17".

🎯 3 (Moderate) | ⏱️ ~20 minutes


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error internal/ignition/installmanifests.go adds debug logging that prints full patched manifest YAML (string(data[:])) to logs, which may include tokens/secrets. Stop logging full manifest contents; log only filenames/metadata or redact/omit secret-bearing fields before emitting to logs.
Test Structure And Quality ⚠️ Warning Many HaveOccurred() assertions lack failure messages (e.g., internalreleaseimage_patcher_test.go:102/121/142 and installmanifests_test.go:1178/1213/1233). Add descriptive message strings to HaveOccurred assertions, e.g. Expect(err).NotTo(HaveOccurred(), "...") / Expect(err).To(HaveOccurred(), "...") so failures are diagnosable.
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning installmanifests_test.go hardcodes IPv4 CIDRs/hosts (e.g., 10.0.0.1/24, 192.168.126.0/24, https://192.168.126.199:22623/...) in a ginkgo test. Add the IPv6/disconnected network compatibility notice; replace IPv4 CIDRs/hosts with IPv6 via GetIPAddressFamily/correctCIDRFamily or skip with InIPv4ClusterContext for IPv4-only coverage.
Description check ❓ Inconclusive The PR description covers the main objective but lacks several template sections including issue type categorization, environment impact, testing approach, and checklist items that align with the repository's template. Complete the PR description by filling out the template sections: mark the relevant issue type (Enhancement), confirm environment impact, select testing method, and complete the provided checklist items.
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: bumping InternalReleaseImage to v1, which is the primary objective of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 Reviewed updated Ginkgo tests in internal/ignition/*_test.go; all It/Describe/Context titles are static string literals (no fmt/time/uuid/IP or generated identifiers).
Microshift Test Compatibility ✅ Passed No changed files in this PR contain 'e2e' in their paths (0 matches), and none under /test/; PR only updates go.mod and internal/ignition logic/unit tests, so no new MicroShift-relevant Ginkgo e2e...
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only updates internal/ignition code + Ginkgo unit tests; no new e2e/Ginkgo topology assumptions or /test/e2e changes detected in the diff.
Topology-Aware Scheduling Compatibility ✅ Passed PR only updates go.mod/vendor and internal ignition feature-gate/IRI parsing logic; no controller/manifests add affinity, topology spread, nodeSelectors, or PDB scheduling constraints.
Ote Binary Stdout Contract ✅ Passed No stdout-contract violations detected: PR diff contains no fmt.{Print,Println,Printf,Fprint*,Fprintf}, os.Stdout, or klog output in main/init/TestMain/suite setup; changes are internal/ignition +...
No-Weak-Crypto ✅ Passed Scanned PR-related files (go.mod + internal/ignition/* changed files) for MD5/SHA1/DES/RC4/3DES/Blowfish/ECB usage and secret/token weak comparisons; none found.
Container-Privileges ✅ Passed PR #10455’s “Container-Privileges” review indicates only Go code/go.mod changed and no container/K8s manifests were added or modified; no hostPID/privileged/allowPrivilegeEscalation strings found o...
✨ 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 size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 11, 2026
@openshift-ci openshift-ci Bot requested review from carbonin and jhernand June 11, 2026 16:28
@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: andfasano
Once this PR has been reviewed and has the lgtm label, please assign jhernand 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

@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: 2

🧹 Nitpick comments (2)
internal/ignition/internalreleaseimage_patcher_test.go (1)

415-422: ⚡ Quick win

Add apiVersion to the test manifest.

The manifestIRI test data (lines 415-422) specifies only the kind field but omits apiVersion. Real-world InternalReleaseImage manifests would include apiVersion: machineconfiguration.openshift.io/v1.

Consider:

  1. Adding apiVersion: machineconfiguration.openshift.io/v1 to make the test data more realistic
  2. If backward compatibility with v1alpha1 is required, adding a separate test case with a v1alpha1 manifest to verify the patcher handles both versions correctly
📝 Suggested enhancement to add apiVersion
 var manifestIRI = `
+apiVersion: machineconfiguration.openshift.io/v1
 kind: InternalReleaseImage
 metadata:
   name: cluster
🤖 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 `@internal/ignition/internalreleaseimage_patcher_test.go` around lines 415 -
422, The test manifest string manifestIRI is missing an apiVersion; update
manifestIRI to include "apiVersion: machineconfiguration.openshift.io/v1" so the
InternalReleaseImage test data mirrors real-world resources, and if you need
backward compatibility also add a second test manifest (e.g.,
manifestIRIv1alpha1) containing "apiVersion:
machineconfiguration.openshift.io/v1alpha1" and a corresponding test to assert
the patcher handles both versions in the tests exercising the patch logic.
internal/ignition/internalreleaseimage_patcher.go (1)

150-170: apiVersion mismatch isn’t used for selecting the InternalReleaseImage manifest

  • getInternalReleaseImageManifest unmarshals into mcfgv1.InternalReleaseImage and matches only on obj.Kind and obj.Name (no obj.APIVersion check).
  • The unit-test manifest manifestIRI used here contains kind: InternalReleaseImage but no apiVersion, so the current logic already tolerates missing/irrelevant apiVersion.
  • In this repo, the vendored machineconfiguration API only contains machineconfiguration/v1 (no machineconfiguration/v1alpha1 types), and there are no machineconfiguration.openshift.io/v1alpha1 occurrences found.

Optional: add an APIVersion-aware debug/info log if you still want visibility when older v1alpha1 manifests are encountered.

🤖 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 `@internal/ignition/internalreleaseimage_patcher.go` around lines 150 - 170,
The selection logic in getInternalReleaseImageManifest ignores apiVersion;
update it to require obj.APIVersion == "machineconfiguration.openshift.io/v1"
before assigning i.iri (while still matching obj.Kind == iriKind and obj.Name ==
iriInstanceName), and if a manifest matches Kind/Name but has a different or
missing APIVersion, emit a debug/info log mentioning obj.APIVersion and the file
path and continue scanning; locate this change inside
getInternalReleaseImageManifest where mcfgv1.InternalReleaseImage is
unmarshaled.
🤖 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 293: The replace directive in go.mod currently points
github.com/openshift/api to a personal fork (github.com/pawanpinjarkar/api) and
must be removed before merging to production; update go.mod to remove the
replace line (or revert to the original module) and add an inline comment next
to the temporary replace stating "// TEMPORARY: DO NOT MERGE - waiting for
https://github.com/openshift/api/pull/2880", create a tracking issue to remove
this replace once the upstream PR is merged, and add/update a PR/CI checklist
entry to ensure no forked replace directives remain in go.mod before merge.
- Around line 88-90: The go.mod currently lists k8s.io/api v0.35.1 and
k8s.io/apimachinery v0.35.1 in require while replace directives pin them to
v0.29.9, causing a mismatch; either update the require lines to match the
replace pins (change k8s.io/api and k8s.io/apimachinery to v0.29.9) or keep the
higher requires and add a clear comment above the replace directives explaining
why v0.29.9 is being forced (include the rationale and any risk/compatibility
notes) so readers and tooling understand the intentional override.

---

Nitpick comments:
In `@internal/ignition/internalreleaseimage_patcher_test.go`:
- Around line 415-422: The test manifest string manifestIRI is missing an
apiVersion; update manifestIRI to include "apiVersion:
machineconfiguration.openshift.io/v1" so the InternalReleaseImage test data
mirrors real-world resources, and if you need backward compatibility also add a
second test manifest (e.g., manifestIRIv1alpha1) containing "apiVersion:
machineconfiguration.openshift.io/v1alpha1" and a corresponding test to assert
the patcher handles both versions in the tests exercising the patch logic.

In `@internal/ignition/internalreleaseimage_patcher.go`:
- Around line 150-170: The selection logic in getInternalReleaseImageManifest
ignores apiVersion; update it to require obj.APIVersion ==
"machineconfiguration.openshift.io/v1" before assigning i.iri (while still
matching obj.Kind == iriKind and obj.Name == iriInstanceName), and if a manifest
matches Kind/Name but has a different or missing APIVersion, emit a debug/info
log mentioning obj.APIVersion and the file path and continue scanning; locate
this change inside getInternalReleaseImageManifest where
mcfgv1.InternalReleaseImage is unmarshaled.
🪄 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: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2a0b077a-b9dd-491e-ac22-8dd924c8ee1f

📥 Commits

Reviewing files that changed from the base of the PR and between 80edd6b and a5d6380.

⛔ Files ignored due to path filters (153)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/openshift/api/.ci-operator.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/.coderabbit.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/.golangci.go-validated.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/.golangci.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/AGENTS.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/Dockerfile.ocp is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/Makefile is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apiextensions/install.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/Makefile is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/types_compatibilityrequirement.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/apiextensions/v1alpha1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/apps/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apps/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apps/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/apps/v1/zz_prerelease_lifecycle_generated.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/authorization/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/authorization/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/build/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/build/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/cloudnetwork/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/cloudnetwork/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_apiserver.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_authentication.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_cluster_image_policy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_cluster_operator.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_cluster_version.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_dns.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_feature.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_image.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_image_policy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_infrastructure.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_ingress.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_insights.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_kmsencryption.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_network.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_scheduling.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/types_tlssecurityprofile.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/config/v1alpha1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_backup.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go 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/types_crio_credential_provider_config.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_insights.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha1/types_pki.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.featuregated-crd-manifests.yaml 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/config/v1alpha2/types_insights.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/config/v1alpha2/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/console/v1/types_console_plugin.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/console/v1/types_console_sample.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/console/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/envtest-releases.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/install.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1/Makefile is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1/types_pacemakercluster.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/etcd/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/etcd/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/etcd/v1alpha1/Makefile is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1alpha1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1alpha1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1alpha1/types_pacemakercluster.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/etcd/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/etcd/v1alpha1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/etcd/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/features/legacyfeaturegates.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/features/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/image/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/image/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/install.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machine/v1/types_controlplanemachineset.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machine/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machine/v1beta1/types_awsprovider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machine/v1beta1/types_machine.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machine/v1beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1/Makefile is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/doc.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/types_machineconfignode.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types_machineosbuild.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types_machineosconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types_osimagestream.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1/types_pinnedimageset.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/machineconfiguration/v1alpha1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/machineconfiguration/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1alpha1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/machineconfiguration/v1alpha1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/network/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/network/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/networkoperator/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/networkoperator/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/oauth/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/oauth/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_console.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_etcd.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_ingress.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/types_network.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1alpha1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1alpha1/types_clusterapi.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/project/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/project/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/quota/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/quota/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/quota/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/quota/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/quota/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/route/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/route/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/samples/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/samples/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/security/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/security/v1/generated.proto is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/security/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/security/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/security/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/openshift/api/template/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/template/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/user/v1/generated.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/github.com/openshift/api/user/v1/generated.protomessage.pb.go is excluded by !**/*.pb.go, !**/vendor/**, !vendor/**
  • vendor/modules.txt is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (3)
  • go.mod
  • internal/ignition/internalreleaseimage_patcher.go
  • internal/ignition/internalreleaseimage_patcher_test.go

Comment thread go.mod
Comment on lines +88 to +90
k8s.io/api v0.35.1
k8s.io/apiextensions-apiserver v0.29.5
k8s.io/apimachinery v0.34.2
k8s.io/apimachinery v0.35.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check what versions are actually resolved by go mod

echo "=== Checking resolved k8s.io/api version ==="
go list -m k8s.io/api

echo "=== Checking resolved k8s.io/apimachinery version ==="
go list -m k8s.io/apimachinery

echo "=== Checking if replace directives exist ==="
grep -A1 "k8s.io/api =>" go.mod
grep -A1 "k8s.io/apimachinery =>" go.mod

Repository: openshift/assisted-service

Length of output: 531


Flag require/replace mismatch for k8s.io/api and k8s.io/apimachinery in go.mod

go.mod requires k8s.io/api v0.35.1 and k8s.io/apimachinery v0.35.1, but the replace directives resolve both modules to v0.29.9 (go list -m shows v0.35.1 => v0.29.9). This disagreement between require and the effective versions can confuse readers and tools; if this is intentional, document why the require versions differ from the replace pins.

🤖 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 `@go.mod` around lines 88 - 90, The go.mod currently lists k8s.io/api v0.35.1
and k8s.io/apimachinery v0.35.1 in require while replace directives pin them to
v0.29.9, causing a mismatch; either update the require lines to match the
replace pins (change k8s.io/api and k8s.io/apimachinery to v0.29.9) or keep the
higher requires and add a clear comment above the replace directives explaining
why v0.29.9 is being forced (include the rationale and any risk/compatibility
notes) so readers and tooling understand the intentional override.

Comment thread go.mod
sigs.k8s.io/cluster-api-provider-azure => github.com/openshift/cluster-api-provider-azure v0.1.0-alpha.3.0.20201016155852-4090a6970205
)

replace github.com/openshift/api => github.com/pawanpinjarkar/api v0.0.0-20260611132132-df7836b66b8f

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Ensure the temporary fork replace is removed before production merge.

The replace directive points github.com/openshift/api to a personal fork (github.com/pawanpinjarkar/api). Per the coding guidelines on supply chain security, this should never reach production code.

While the PR description mentions this is temporary for testing, consider:

  1. Adding an inline comment in go.mod marking this as // TEMPORARY: DO NOT MERGE - waiting for https://github.com/openshift/api/pull/2880
  2. Creating a tracking issue to remove this replace once the upstream PR merges
  3. Adding a CI check or PR template reminder to verify this is removed
🤖 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 `@go.mod` at line 293, The replace directive in go.mod currently points
github.com/openshift/api to a personal fork (github.com/pawanpinjarkar/api) and
must be removed before merging to production; update go.mod to remove the
replace line (or revert to the original module) and add an inline comment next
to the temporary replace stating "// TEMPORARY: DO NOT MERGE - waiting for
https://github.com/openshift/api/pull/2880", create a tracking issue to remove
this replace once the upstream PR is merged, and add/update a PR/CI checklist
entry to ensure no forked replace directives remain in go.mod before merge.

Source: Coding guidelines

@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.36%. Comparing base (aa192af) to head (f7a0cef).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #10455   +/-   ##
=======================================
  Coverage   44.36%   44.36%           
=======================================
  Files         420      420           
  Lines       73107    73109    +2     
=======================================
+ Hits        32431    32436    +5     
+ Misses      37741    37739    -2     
+ Partials     2935     2934    -1     
Files with missing lines Coverage Δ
internal/ignition/installmanifests.go 57.08% <100.00%> (+0.41%) ⬆️
internal/ignition/internalreleaseimage_patcher.go 67.41% <100.00%> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown

@andfasano: This PR was included in a payload test run from openshift/api#2880
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/c9993180-6646-11f1-9b81-8f288bc688c1-0

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown

@andfasano: This PR was included in a payload test run from openshift/api#2880
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/79d770f0-665d-11f1-9ef4-6c006290fce7-0

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown

@andfasano: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/edge-e2e-metal-assisted-4-22 a5d6380 link true /test edge-e2e-metal-assisted-4-22
ci/prow/edge-subsystem-kubeapi-aws f7a0cef link true /test edge-subsystem-kubeapi-aws

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

/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 12, 2026

Copy link
Copy Markdown

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

@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown

@andfasano: This PR was included in a payload test run from openshift/api#2880
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/79d6df40-68cf-11f1-9a39-3d80b7114f29-0

@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown

@pawanpinjarkar: This PR was included in a payload test run from openshift/api#2880
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/98d24380-68fc-11f1-8717-d92865f52d7f-0

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown

@andfasano: This PR was included in a payload test run from openshift/client-go#383
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/456c9050-6957-11f1-9bed-3f2ce7c45a9d-0

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown

@sadasu: This PR was included in a payload test run from openshift/api#2880
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/7f987e10-69c5-11f1-9875-224b8c1290ff-0

@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown

@andfasano: This PR was included in a payload test run from openshift/client-go#383
trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-agent-compact-iso-no-registry-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/cfae9ff0-6a4d-11f1-90c0-bba10d5917df-0

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. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants