Skip to content

OCPBUGS-84961: support Parents field on origin test suites#31261

Draft
stbenjam wants to merge 1 commit into
openshift:mainfrom
stbenjam:parents
Draft

OCPBUGS-84961: support Parents field on origin test suites#31261
stbenjam wants to merge 1 commit into
openshift:mainfrom
stbenjam:parents

Conversation

@stbenjam
Copy link
Copy Markdown
Member

@stbenjam stbenjam commented Jun 5, 2026

Summary

  • Adds a Parents []string field to ginkgo.TestSuite, enabling static origin suites (not just OTE extensions) to declare parent relationships
  • Makes openshift/conformance/parallel and openshift/conformance/serial children of openshift/conformance, removing the parent's hardcoded qualifier so it inherits entirely from its children
  • Extension qualifiers injected into child suites now automatically propagate up to the conformance parent
  • Qualifier merging uses a fixed-point loop with dedup, supporting arbitrary-depth transitive chains (e.g. extension → parallel → conformance)
  • Also copies OTE Parents into TestSuite.Parents for extension suites, so all parent resolution goes through one unified code path

Supersedes #31259

Test plan

  • go build ./... compiles
  • go vet ./pkg/test/ginkgo/... ./pkg/testsuites/... passes
  • All existing tests pass (172 tests across 4 packages)
  • New unit tests in pkg/testsuites/parents_test.go covering:
    • Basic child→parent merging
    • Multiple children into the same parent
    • Duplicate qualifier deduplication
    • Transitive grandchild→grandparent propagation (4 levels deep)
    • Slice-order independence for transitive chains
    • Child with multiple parents
    • Integration test that openshift/conformance inherits from parallel and serial

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Test suites now support parent-child relationships so child suites inherit qualifiers from parents, reducing duplication and enabling transitive propagation.
    • Run-time debug logging now reports suite qualifiers and a per-source spec count to aid troubleshooting.
  • Tests

    • Added comprehensive tests covering parent qualifier inheritance, multiple-parent and transitive scenarios, deduplication, and conformance-suite validation.

Add a Parents field to TestSuite so static suites (not just OTE
extensions) can declare parent relationships. Child qualifiers are
merged into parents with dedup via a fixed-point loop that handles
arbitrary-depth transitive chains.

Make openshift/conformance/parallel and openshift/conformance/serial
children of openshift/conformance, removing the parent's hardcoded
qualifier so it inherits entirely from its children. This also means
extension qualifiers injected into the child suites automatically
propagate up to the conformance parent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 5, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@stbenjam: This pull request references Jira Issue OCPBUGS-84961, which is invalid:

  • expected the bug to target the "5.0.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Summary

  • Adds a Parents []string field to ginkgo.TestSuite, enabling static origin suites (not just OTE extensions) to declare parent relationships
  • Makes openshift/conformance/parallel and openshift/conformance/serial children of openshift/conformance, removing the parent's hardcoded qualifier so it inherits entirely from its children
  • Extension qualifiers injected into child suites now automatically propagate up to the conformance parent
  • Qualifier merging uses a fixed-point loop with dedup, supporting arbitrary-depth transitive chains (e.g. extension → parallel → conformance)
  • Also copies OTE Parents into TestSuite.Parents for extension suites, so all parent resolution goes through one unified code path

Supersedes #31259

Test plan

  • go build ./... compiles
  • go vet ./pkg/test/ginkgo/... ./pkg/testsuites/... passes
  • All existing tests pass (172 tests across 4 packages)
  • New unit tests in pkg/testsuites/parents_test.go covering:
  • Basic child→parent merging
  • Multiple children into the same parent
  • Duplicate qualifier deduplication
  • Transitive grandchild→grandparent propagation (4 levels deep)
  • Slice-order independence for transitive chains
  • Child with multiple parents
  • Integration test that openshift/conformance inherits from parallel and serial

🤖 Generated with Claude Code

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.

@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

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 5, 2026

Walkthrough

Adds a Parents field to TestSuite, implements mergeParentQualifiers (fixed-point propagation with deduplication), integrates it into suite builders and static suite definitions, adds tests covering propagation scenarios, and emits debug logging of suite qualifiers and spec-source counts.

Changes

Parent Suite Qualifier Propagation

Layer / File(s) Summary
TestSuite parent relationship contract
pkg/test/ginkgo/test_suite.go
TestSuite struct extends with Parents []string field to carry parent suite references for JSON serialization.
Qualifier propagation algorithm
pkg/testsuites/standard_suites.go
New unexported mergeParentQualifiers repeatedly appends missing child qualifiers into declared parents with per-parent deduplication until no further changes occur.
Suite builder integration & static declarations
pkg/testsuites/standard_suites.go
InternalTestSuites and AllTestSuites invoke mergeParentQualifiers after building suites; external suites preserve Parents; openshift/conformance/parallel and .../serial declare Parents: [\"openshift/conformance\"].
Comprehensive behavior tests
pkg/testsuites/parents_test.go
TestMergeParentQualifiers exercises single/multiple children, deduplication, transitive propagation, multi-parent merges, and invariants; TestConformanceInheritsFromChildren verifies conformance inherits qualifiers from parallel/serial.
Run-time debug logging
pkg/test/ginkgo/cmd_runsuite.go
Logs suite qualifier counts/values (truncated) and per-ExtensionTestSpec.Source discovered-spec counts prior to filtering.

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly and concisely summarizes the main change: adding support for a Parents field on origin test suites to enable parent-child relationships between test suites.
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 All test names in the PR are stable and deterministic. Test subtitles use static string literals without dynamic values like timestamps, UUIDs, pod names, or other run-dependent content.
Test Structure And Quality ✅ Passed The PR adds standard Go unit tests (not Ginkgo tests). The custom check is for Ginkgo test code patterns, which are not present; therefore the check is not applicable to this PR and should pass.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests (It/Describe/Context/When) added. PR only adds Go unit tests for infrastructure validation and modifies test suite metadata.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests added. parents_test.go contains Go unit tests for infrastructure, not e2e tests requiring SNO compatibility checks.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies test infrastructure (test runner, suite definitions, test helpers) only—no deployment manifests, operator code, controllers, or scheduling constraints added.
Ote Binary Stdout Contract ✅ Passed All debug logging uses logrus.Infof() which outputs to stderr by default; no fmt.Print* or direct stdout writes introduced; IOStreams use safe o.Out/o.ErrOut.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests (It, Describe, Context, When) were added. Changes are infrastructure, configuration, and unit tests only. Check not applicable.
No-Weak-Crypto ✅ Passed PR contains no cryptographic code. Changes only involve test suite parent-child relationships and qualifier propagation using simple string maps.
Container-Privileges ✅ Passed PR contains only Go source files for test suite management; no K8s manifests or container configurations with privileged settings are present.
No-Sensitive-Data-In-Logs ✅ Passed Logging added logs only non-sensitive data: suite names, test filter qualifiers, source identifiers, and test counts. No passwords, tokens, API keys, PII, or secrets exposed.

✏️ 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 requested review from p0lyn0mial and sjenning June 5, 2026 07:51
@stbenjam
Copy link
Copy Markdown
Member Author

stbenjam commented Jun 5, 2026

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 5, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@stbenjam: This pull request references Jira Issue OCPBUGS-84961, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

/jira refresh

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.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 5, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: stbenjam

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 Jun 5, 2026
@stbenjam
Copy link
Copy Markdown
Member Author

stbenjam commented Jun 5, 2026

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-serial-1of2 periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview periodic-ci-openshift-release-main-nightly-5.0-e2e-metal-ipi-ovn-ipv4 periodic-ci-openshift-release-main-nightly-5.0-e2e-metal-ipi-ovn-ipv6 periodic-ci-openshift-release-main-ci-5.0-upgrade-from-stable-4.22-e2e-gcp-ovn-rt-upgrade

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 5, 2026

@stbenjam: trigger 5 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-aws-ovn-serial-1of2
  • periodic-ci-openshift-release-main-ci-5.0-e2e-aws-ovn-techpreview
  • periodic-ci-openshift-release-main-nightly-5.0-e2e-metal-ipi-ovn-ipv4
  • periodic-ci-openshift-release-main-nightly-5.0-e2e-metal-ipi-ovn-ipv6
  • periodic-ci-openshift-release-main-ci-5.0-upgrade-from-stable-4.22-e2e-gcp-ovn-rt-upgrade

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/0ed3d720-60b4-11f1-8a9b-bd6ff849bb8b-0

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 `@pkg/testsuites/standard_suites.go`:
- Around line 520-523: When merging child.Qualifiers into parent.Qualifiers the
code appends a qualifier but doesn't mark it in the existing map, so repeated
qualifiers within the same child slice can be appended multiple times; in the
loop over child.Qualifiers (the block that checks if !existing[q]) set
existing[q] = true immediately after appending to parent.Qualifiers (and keep
setting changed = true) so subsequent duplicates in the same child don't get
appended again.
🪄 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: af1d8eb0-1ccb-4ff3-bab7-1d6180f0c36f

📥 Commits

Reviewing files that changed from the base of the PR and between 07c5d61 and 9ffae89.

📒 Files selected for processing (3)
  • pkg/test/ginkgo/test_suite.go
  • pkg/testsuites/parents_test.go
  • pkg/testsuites/standard_suites.go

Comment thread pkg/testsuites/standard_suites.go
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@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 5, 2026
@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

/payload-job periodic-ci-openshift-release-main-nightly-4.21-opct-external-aws-ccm

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 5, 2026

@mtulio: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-4.21-opct-external-aws-ccm

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/671e2520-60d7-11f1-9f64-4c10518d7df1-0

@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

4.21 job is failing to install:
/payload-job periodic-ci-openshift-release-main-nightly-4.22-opct-platform-external-aws

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 5, 2026

@mtulio: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-4.22-opct-platform-external-aws

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/cd36cc10-60df-11f1-8554-e2accbdddd43-0

@stbenjam
Copy link
Copy Markdown
Member Author

stbenjam commented Jun 5, 2026

/cherry-pick release-4.22 release-4.21

@openshift-cherrypick-robot
Copy link
Copy Markdown

@stbenjam: once the present PR merges, I will cherry-pick it on top of release-4.22 in a new PR and assign it to you.

Details

In response to this:

/cherry-pick release-4.22 release-4.21

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.

@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

Still evaluating the results, it's not getting the results we wanted:

Screenshot From 2026-06-05 14-52-53

/hold

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 5, 2026
@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

Still evaluating the results, it's not getting the results we wanted:

/hold

wait, testing in 4.21 payload, probably needs to test against 5.0 or 4.23?

@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

/payload-job periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws-ccm periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 5, 2026

@mtulio: trigger 2 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws-ccm
  • periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/042fcc30-6108-11f1-877b-5e913a41d258-0

@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

additionally fyi: I am working to export the "build logs", openshift-tests container output in the CI step to help on further investigation

@not-stbenjam
Copy link
Copy Markdown

not-stbenjam commented Jun 5, 2026

Sorry, I didn't notice your jobs weren't 5.0 — it needs to match main. Feel free to /lgtm when you think it's ready. If you find any problems just let me know, I'll take a look on Monday.

@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 5, 2026

@mtulio: trigger 2 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws-ccm
  • periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/042fcc30-6108-11f1-877b-5e913a41d258-0

Bikash those tests finished w/ unexpected values, since 5.0 is not well exercised under opct env, would you mind validating this fix under 5.0/4.23 cluster and collect the result to us?

/assign @bshaw7

@not-stbenjam
Copy link
Copy Markdown

No, this is not working the way I expected. The problem is here. I'll need to grab a live cluster next week and take a look.

@mtulio
Copy link
Copy Markdown
Contributor

mtulio commented Jun 6, 2026

We must have container logs to GCS now:

/payload-job periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 6, 2026

@mtulio: 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-opct-platform-external-aws

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/56301730-6156-11f1-8756-5dbf23a2695c-0

@stbenjam
Copy link
Copy Markdown
Member Author

stbenjam commented Jun 6, 2026

/payload-job periodic-ci-openshift-release-main-nightly-5.0-opct-platform-external-aws

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 6, 2026

@stbenjam: 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-opct-platform-external-aws

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/7cf37e30-61a0-11f1-946c-e6371f9ee7af-0

@openshift-ci-robot
Copy link
Copy Markdown

@stbenjam: This pull request references Jira Issue OCPBUGS-84961, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

Summary

  • Adds a Parents []string field to ginkgo.TestSuite, enabling static origin suites (not just OTE extensions) to declare parent relationships
  • Makes openshift/conformance/parallel and openshift/conformance/serial children of openshift/conformance, removing the parent's hardcoded qualifier so it inherits entirely from its children
  • Extension qualifiers injected into child suites now automatically propagate up to the conformance parent
  • Qualifier merging uses a fixed-point loop with dedup, supporting arbitrary-depth transitive chains (e.g. extension → parallel → conformance)
  • Also copies OTE Parents into TestSuite.Parents for extension suites, so all parent resolution goes through one unified code path

Supersedes #31259

Test plan

  • go build ./... compiles
  • go vet ./pkg/test/ginkgo/... ./pkg/testsuites/... passes
  • All existing tests pass (172 tests across 4 packages)
  • New unit tests in pkg/testsuites/parents_test.go covering:
  • Basic child→parent merging
  • Multiple children into the same parent
  • Duplicate qualifier deduplication
  • Transitive grandchild→grandparent propagation (4 levels deep)
  • Slice-order independence for transitive chains
  • Child with multiple parents
  • Integration test that openshift/conformance inherits from parallel and serial

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

  • Test suites now support parent-child relationships so child suites inherit qualifiers from parents, reducing duplication and enabling transitive propagation.

  • Run-time debug logging now reports suite qualifiers and a per-source spec count to aid troubleshooting.

  • Tests

  • Added comprehensive tests covering parent qualifier inheritance, multiple-parent and transitive scenarios, deduplication, and conformance-suite validation.

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
pkg/test/ginkgo/cmd_runsuite.go (1)

363-379: ⚡ Quick win

Consider adding a TODO comment to track removal of temporary debug logging.

The commit message indicates this is temporary debug code added to diagnose extension test filtering issues. Adding an in-code TODO comment would make it easier to track and remove later once the investigation is complete.

📝 Suggested addition
+	// TODO(OCPBUGS-84961): Remove temporary debug logging once extension test filtering issue is resolved
 	// Debug: log suite qualifiers before filter
 	logrus.Infof("Suite %q has %d qualifiers before filter", suite.Name, len(suite.Qualifiers))
🤖 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 `@pkg/test/ginkgo/cmd_runsuite.go` around lines 363 - 379, Add a TODO comment
marking the temporary debug logging for suite qualifiers and sourceCounts so
it’s easy to find and remove later; specifically, annotate the block that logs
suite.Name and suite.Qualifiers and the loop that builds sourceCounts from specs
(using ExtensionTestSpec.Source) with a clear TODO like “TODO: temporary debug
logging for extension test filtering investigation - remove when fixed” and
include a short owner/date or issue reference to track follow-up.
🤖 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.

Nitpick comments:
In `@pkg/test/ginkgo/cmd_runsuite.go`:
- Around line 363-379: Add a TODO comment marking the temporary debug logging
for suite qualifiers and sourceCounts so it’s easy to find and remove later;
specifically, annotate the block that logs suite.Name and suite.Qualifiers and
the loop that builds sourceCounts from specs (using ExtensionTestSpec.Source)
with a clear TODO like “TODO: temporary debug logging for extension test
filtering investigation - remove when fixed” and include a short owner/date or
issue reference to track follow-up.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 1e9f5c63-a331-4d5b-b392-6e2fb343872e

📥 Commits

Reviewing files that changed from the base of the PR and between 9ffae89 and 86f94a0.

📒 Files selected for processing (2)
  • pkg/test/ginkgo/cmd_runsuite.go
  • pkg/testsuites/standard_suites.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • pkg/testsuites/standard_suites.go

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@stbenjam stbenjam marked this pull request as draft June 6, 2026 12:39
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 6, 2026
not-stbenjam added a commit to not-stbenjam/kubernetes that referenced this pull request Jun 6, 2026
Add a kubernetes/conformance suite that aggregates tests from
kubernetes/conformance/parallel and kubernetes/conformance/serial,
enabling `openshift-tests run kubernetes/conformance` to run all
kubernetes conformance tests in a single invocation.

Uses AddGlobalSuite (not AddSuite) so the umbrella starts with zero
qualifiers and inherits exclusively from its children via the
mergeParentQualifiers fixed-point loop in origin. AddSuite would
prepend a catch-all source qualifier that bypasses the exclusion
filters ([Disabled:], [Disruptive], [Slow], etc.) in the child
qualifiers.

Companion to openshift/origin#31261 which adds the Parents field
and mergeParentQualifiers mechanism.

Upstream: <carry>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
not-stbenjam added a commit to not-stbenjam/kubernetes that referenced this pull request Jun 6, 2026
… suite

Add a kubernetes/conformance suite that aggregates tests from
kubernetes/conformance/parallel and kubernetes/conformance/serial,
enabling `openshift-tests run kubernetes/conformance` to run all
kubernetes conformance tests in a single invocation.

Uses AddGlobalSuite (not AddSuite) so the umbrella starts with zero
qualifiers and inherits exclusively from its children via the
mergeParentQualifiers fixed-point loop in origin. AddSuite would
prepend a catch-all source qualifier that bypasses the exclusion
filters ([Disabled:], [Disruptive], [Slow], etc.) in the child
qualifiers.

Companion to openshift/origin#31261 which adds the Parents field
and mergeParentQualifiers mechanism.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
not-stbenjam added a commit to not-stbenjam/kubernetes that referenced this pull request Jun 6, 2026
Add a kubernetes/conformance suite that aggregates tests from
kubernetes/conformance/parallel and kubernetes/conformance/serial,
enabling `openshift-tests run kubernetes/conformance` to run all
kubernetes conformance tests in a single invocation.

Uses AddGlobalSuite (not AddSuite) so the umbrella starts with zero
qualifiers and inherits exclusively from its children via the
mergeParentQualifiers fixed-point loop in origin. AddSuite would
prepend a catch-all source qualifier that bypasses the exclusion
filters ([Disabled:], [Disruptive], [Slow], etc.) in the child
qualifiers.

Companion to openshift/origin#31261 which adds the Parents field
and mergeParentQualifiers mechanism.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@not-stbenjam
Copy link
Copy Markdown

not-stbenjam commented Jun 6, 2026

I am pretty sure this fix works. The OPCT non-upgrade conformance jobs just can't be validated via /payload-job due to a bug in the workflow configuration.

In ci-operator, release:latest contains the CI-built payload (with the PR's code), and release:initial contains the unmodified accepted nightly. The opct-conformance-external-aws workflow overrides OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE to release:initial, which is correct for upgrade jobs (install from old, upgrade to newest code), but non-upgrade conformance jobs also inherit this override. The cluster gets installed from the nightly instead of the CI payload, so the PR's openshift-tests binary never lands on the cluster — OPCT pulls it from the cluster's internal registry, which has the nightly's ART build. FWIW, the periodic versions of these jobs is always one release behind because it is only testing the previous payload — the "from" version.

Fix: openshift/release#80178 removes the dependency override from the workflow so non-upgrade jobs install from release:latest (the CI payload), and moves it to the individual upgrade job configs where it's actually needed.

not-stbenjam added a commit to not-stbenjam/kubernetes that referenced this pull request Jun 6, 2026
Add a kubernetes/conformance suite that aggregates tests from
kubernetes/conformance/parallel and kubernetes/conformance/serial,
enabling `openshift-tests run kubernetes/conformance` to run all
kubernetes conformance tests in a single invocation.

Uses AddGlobalSuite (not AddSuite) so the umbrella starts with zero
qualifiers and inherits exclusively from its children via the
mergeParentQualifiers fixed-point loop in origin. AddSuite would
prepend a catch-all source qualifier that bypasses the exclusion
filters ([Disabled:], [Disruptive], [Slow], etc.) in the child
qualifiers.

Companion to openshift/origin#31261 which adds the Parents field
and mergeParentQualifiers mechanism.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants