Skip to content

test/e2e: unpin optional-operators fixture from EOL ocp/4.6 integrated stream#5334

Open
kaovilai wants to merge 1 commit into
openshift:mainfrom
kaovilai:fix-e2e-oo-integrated-stream
Open

test/e2e: unpin optional-operators fixture from EOL ocp/4.6 integrated stream#5334
kaovilai wants to merge 1 commit into
openshift:mainfrom
kaovilai:fix-e2e-oo-integrated-stream

Conversation

@kaovilai

@kaovilai kaovilai commented Jul 25, 2026

Copy link
Copy Markdown
Member

Note

Responses generated with Claude

Summary

The e2e-oo job has failed on every run since at least February 2026 (job history): the fixture pins tag_specification: ocp/4.6, an EOL integrated stream that configresolver no longer serves, so all four TestOptionalOperators subtests die at ci-operator startup (Ran for 0s):

failed to generate integrated streams: failed to get integrated stream ocp/4.6: got unexpected http 400 status code from configresolver: not a valid integrated stream: ocp/4.6

This means the optional-operators (bundle/index build) path currently has no working e2e coverage.

Changes

  • tag_specification bumped ocp/4.6ocp/4.20 (verified: https://config.ci.openshift.org/integratedStream?namespace=ocp&name=4.20 returns 200 with 384 tags; 4.6 returns 400).
  • The two substitutions whose with: targets were metering components (gone from modern release streams) now point at components present in every current stream — cli and machine-config-operator (both verified present in the ocp/4.20 integrated stream; oauth-proxy already was). Unprefixed names resolve via DependencyParts/ImageStreamFor to stable:<name>, same as before.
  • The substitution pullspec: strings are unchanged so they keep matching the CSV under test/manifests/4.6 — the manifest-replacement behavior the suite exercises is preserved.
  • base_index (ci/redhat-operator-index:v4.6) and the CSV names asserted by the verify-db-* steps are left untouched: they describe the test's own bundle and base-index content, not the release stream.

Test plan

  • YAML-only change; the e2e-oo job triggered on this PR is the real verification (first run able to get past config resolution since the breakage).

Fixes #5333

/cc @droslean

Updates the e2e-oo optional-operators fixture to use the currently served ocp/4.20 stream instead of the obsolete ocp/4.6 (switching tag_specification to name: "4.20"), unblocking ci-operator startup so the optional-operators end-to-end tests can execute. It refreshes the fixture’s substitution mappings in test/e2e/optional-operators/optional-operators.yaml by changing the metering-related origin pullspecs to resolve to with: cli and introducing a substitution that resolves to with: machine-config-operator, while keeping the existing oauth-proxy mapping, the v4.6 base index, and the CSV assertions unchanged.

Copilot AI review requested due to automatic review settings July 25, 2026 13:42
@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
openshift-ci Bot requested a review from droslean July 25, 2026 13:42
@coderabbitai

coderabbitai Bot commented Jul 25, 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: c059849a-e1c0-4098-86c3-cd776dec9306

📥 Commits

Reviewing files that changed from the base of the PR and between 0239d59 and cdf95e7.

📒 Files selected for processing (1)
  • test/e2e/optional-operators/optional-operators.yaml
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift/release (manual)
  • openshift/ci-docs (manual)
  • openshift/release-controller (manual)
  • openshift/ci-chat-bot (manual)

📝 Walkthrough

Walkthrough

The optional-operators end-to-end fixture updates bundle substitution targets and changes its integrated stream from OpenShift 4.6 to 4.20.

Changes

Optional operators fixture

Layer / File(s) Summary
Update substitutions and release stream
test/e2e/optional-operators/optional-operators.yaml
Updates substitution targets, preserves the oauth-proxy mapping, and changes tag_specification.name from 4.6 to 4.20.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 17
✅ Passed checks (17 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: moving the optional-operators fixture off the EOL ocp/4.6 integrated stream.
Linked Issues check ✅ Passed The change addresses #5333 by updating the fixture from ocp/4.6 to a served stream and adjusting related substitutions for compatibility.
Out of Scope Changes check ✅ Passed The modified YAML stays within the optional-operators fixture scope and does not introduce unrelated code changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Go Error Handling ✅ Passed PR only changes a YAML fixture; no Go code or error-handling paths are touched, so the check is not applicable.
Test Coverage For New Features ✅ Passed Config-only YAML change; no new Go code or pure functions were added, so the test-coverage requirement doesn’t apply.
Stable And Deterministic Test Names ✅ Passed PR only changes a YAML fixture; no Ginkgo It/Describe/Context/When titles were added or edited, so there are no unstable test names.
Test Structure And Quality ✅ Passed PR only updates a YAML ci-operator fixture; it does not add/modify any Ginkgo It blocks, Eventually calls, or test setup/cleanup code to assess.
Microshift Test Compatibility ✅ Passed Only a YAML fixture changed; no new Ginkgo tests, labels, or API-using test logic were added, so the MicroShift check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: The PR only updates a YAML fixture; no new It/Describe tests or SNO-sensitive topology assumptions were added.
Topology-Aware Scheduling Compatibility ✅ Passed Only an e2e fixture YAML changed; it updates image-stream tags/substitutions and adds no pod specs, affinity, nodeSelectors, or topology-sensitive scheduling rules.
Ote Binary Stdout Contract ✅ Passed Only a YAML fixture changed; no binary code, init/main, or suite setup stdout paths were modified.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Fixture-only change; no new Ginkgo tests or IPv4/public-internet assumptions were added. Existing github.com/grpcurl download predates this PR.
No-Weak-Crypto ✅ Passed YAML-only fixture update; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons were introduced.
Container-Privileges ✅ Passed The changed YAML only updates stream/substitution values; no privileged, host*, SYS_ADMIN, or allowPrivilegeEscalation settings are present.
No-Sensitive-Data-In-Logs ✅ Passed No added logs or sensitive literals found; the fixture only updates test inputs and shell commands with public component names and URLs.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Copilot AI 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.

Pull request overview

Updates the optional-operators e2e fixture to use a currently-served OCP integrated stream so the e2e-oo job can resolve tag_specification again and actually exercise the bundle/index build flow.

Changes:

  • Bumps tag_specification from ocp/4.6 (EOL/unserved) to ocp/4.20.
  • Repoints operator manifest pullspec substitutions away from removed metering components to images expected to exist in modern streams (cli, machine-config-operator), while keeping the substituted pullspec strings the same.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +36 to +37
- pullspec: quay.io/openshift/origin-hive:4.6
with: metering-hive # operand image, must be present in `stable` imagestream
with: machine-config-operator # operand image, must be present in `stable` imagestream
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 25, 2026
@openshift-ci

openshift-ci Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: droslean, kaovilai

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

The pull request process is described 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 added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 25, 2026
@droslean

Copy link
Copy Markdown
Member

Thanks for the fix Tiger!

@kaovilai
kaovilai force-pushed the fix-e2e-oo-integrated-stream branch from 88e4024 to 0239d59 Compare July 25, 2026 14:07
Copilot AI review requested due to automatic review settings July 25, 2026 14:07
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 25, 2026
@openshift-ci

openshift-ci Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

…d stream

The e2e-oo suite has failed on every run since at least February 2026:
the fixture's tag_specification pins the ocp/4.6 integrated stream, which
configresolver no longer serves, so every ci-operator invocation dies at
startup with:

  failed to generate integrated streams: failed to get integrated stream
  ocp/4.6: got unexpected http 400 status code from configresolver: not a
  valid integrated stream: ocp/4.6

Bump the integrated stream to ocp/4.20 and point the substitutions that
referenced metering components (which no longer exist in current release
streams) at components present in every modern stream (cli,
machine-config-operator). The substitution pullspec strings are unchanged
so they keep matching the bundle manifests under test/manifests/4.6.

The base_index (ci/redhat-operator-index:v4.6) and the CSV names asserted
by the verify-db steps are left untouched: they describe the content of
the test's own bundle and base index, not the release stream.

Fixes openshift#5333

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com>
@kaovilai
kaovilai force-pushed the fix-e2e-oo-integrated-stream branch from 0239d59 to cdf95e7 Compare July 25, 2026 14:09

Copilot AI 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.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings July 25, 2026 14:09

Copilot AI 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.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@kaovilai

Copy link
Copy Markdown
Member Author

/retest

@openshift-ci

openshift-ci Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

@kaovilai: The following test 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/integration cdf95e7 link true /test integration

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.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

e2e-oo permanently failing: fixture pins EOL integrated stream ocp/4.6, configresolver returns 400

3 participants