Skip to content

Automated - Update config ./config/openshift.yaml#3349

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
openshift-bot:automated---update-config-./config/openshift.yaml
Mar 19, 2026
Merged

Automated - Update config ./config/openshift.yaml#3349
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
openshift-bot:automated---update-config-./config/openshift.yaml

Conversation

@openshift-bot
Copy link
Contributor

@openshift-bot openshift-bot commented Mar 18, 2026

Summary by CodeRabbit

  • Testing & Quality Assurance
    • Enhanced test coverage for OpenShift releases 4.20–4.22
    • Added cluster-API operator validation across AWS, Azure, GCP, OpenStack, and vSphere platforms
    • Introduced performance optimization and node-density testing scenarios
    • Added chaos engineering tests for virtualization components and node failures
    • Extended ROSA platform support with regional test configurations

@openshift-ci-robot
Copy link

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
Contributor

coderabbitai bot commented Mar 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: c472d3ba-b75d-4f10-8b55-599fdda4647c

📥 Commits

Reviewing files that changed from the base of the PR and between 9d29d43 and ddfdb47.

📒 Files selected for processing (2)
  • config/openshift.yaml
  • pkg/variantregistry/snapshot.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • config/openshift.yaml

Walkthrough

Adds many new periodic job entries for OpenShift releases 4.20–4.22: updates config/openshift.yaml to enable multiple informing/periodic job flags and appends a large set of new job definitions to pkg/variantregistry/snapshot.yaml (perfscale, cluster-api actuator E2E, rosa, chaos, and private jobs).

Changes

Cohort / File(s) Summary
OpenShift release job flags
config/openshift.yaml
Appends new releases.<version> job entries and expands informingJobs for 4.20, 4.21, 4.22. Adds cluster-api actuator operator periodic jobs, perfscale node-density-heavy nightly job flags, a chaos CNV node-outage job flag (4.21), and one private 4.22 nightly release job flag. Also updates generator timestamp.
Variant registry snapshot additions
pkg/variantregistry/snapshot.yaml
Adds ~800+ lines of new snapshot.yaml periodic job definitions: cluster-api actuator E2E jobs across multiple platforms (aws, azure, gcp, openstack, vsphere), perfscale node-density-heavy nightlies for 4.21/4.22, ROSA nightly entries, a chaos CNV node-outage periodic entry, and a private 4.22 UPI OVN winc job. Metadata fields (Installer, JobTier, Topology, SecurityMode, etc.) are set consistently across entries.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Go Error Handling ✅ Passed PR modifies only YAML configuration files; no Go source code changes present, so Go Error Handling check does not apply.
Sql Injection Prevention ✅ Passed Pull request modifies only YAML configuration files without any SQL query construction code, string concatenation, or database operations.
Excessive Css In React Should Use Styles ✅ Passed This PR modifies YAML CI/CD configuration files only, not React components, JSX, or inline CSS styling.
Single Responsibility And Clear Naming ✅ Passed This PR exclusively modifies YAML configuration files with no Go source code changes, making the architecture and naming convention check not applicable.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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

@openshift-ci openshift-ci bot requested review from deads2k and petr-muller March 18, 2026 22:05
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

Copy link
Contributor

@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 the current code and only fix it if needed.

Inline comments:
In `@pkg/variantregistry/snapshot.yaml`:
- Around line 66900-66937: The ROSA nightly variants are missing
Release/ReleaseMajor/ReleaseMinor and ContainerRuntime because setRelease()
cannot extract a version from job names; update pkg/variantregistry logic so
either setRelease() can fall back to a configured default for ROSA nightlies or
populate explicit release fields in snapshot.yaml for the jobs; specifically,
either modify setRelease() to detect the "rosa" platform/nightly pattern and
assign a stable release (and then let setContainerRuntime() derive runtime), or
add explicit Release/ReleaseMajor/ReleaseMinor and ContainerRuntime keys to the
periodic-ci-openshift-online-rosa-regional-platform-main-nightly-* entries in
snapshot.yaml so setContainerRuntime() and setNetwork() can fill the variant
correctly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 270b1b88-2f33-44a7-ade2-d0973c28e267

📥 Commits

Reviewing files that changed from the base of the PR and between 0344658 and 9d29d43.

📒 Files selected for processing (2)
  • config/openshift.yaml
  • pkg/variantregistry/snapshot.yaml

Comment on lines +66900 to +66937
periodic-ci-openshift-online-rosa-regional-platform-main-nightly-ephemeral:
Aggregation: none
Architecture: amd64
CGroupMode: v2
FeatureSet: default
Installer: ipi
JobTier: candidate
LayeredProduct: none
NetworkAccess: default
NetworkStack: ipv4
OS: rhcos9
Owner: service-delivery
Platform: rosa
Procedure: none
Scheduler: default
SecurityMode: default
Suite: unknown
Topology: ha
Upgrade: none
periodic-ci-openshift-online-rosa-regional-platform-main-nightly-integration:
Aggregation: none
Architecture: amd64
CGroupMode: v2
FeatureSet: default
Installer: ipi
JobTier: candidate
LayeredProduct: none
NetworkAccess: default
NetworkStack: ipv4
OS: rhcos9
Owner: service-delivery
Platform: rosa
Procedure: none
Scheduler: default
SecurityMode: default
Suite: unknown
Topology: ha
Upgrade: none
Copy link
Contributor

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
set -euo pipefail

echo "== Inspect variant registry parsing/validation logic =="
rg -n -C3 'ContainerRuntime|Network|ReleaseMajor|ReleaseMinor|required|validate|snapshot' pkg/variantregistry

echo
echo "== Show ROSA nightly main entries and key fields =="
rg -n -C25 '^periodic-ci-openshift-online-rosa-regional-platform-main-nightly-(ephemeral|integration):|^\s{4}(ContainerRuntime|Network|Release|ReleaseMajor|ReleaseMinor):' pkg/variantregistry/snapshot.yaml

echo
echo "== Report missing dimensions for all ROSA nightly main entries =="
python - <<'PY'
import re
from pathlib import Path

text = Path("pkg/variantregistry/snapshot.yaml").read_text()
pattern = re.compile(
    r'^(periodic-ci-openshift-online-rosa-regional-platform-main-nightly-[^:]+):\n'
    r'((?:\s{4}[A-Za-z][A-Za-z0-9]*:.*\n)+)',
    re.M
)
required = ["ContainerRuntime", "Network", "Release", "ReleaseMajor", "ReleaseMinor"]

for name, body in pattern.findall(text):
    keys = set(re.findall(r'^\s{4}([A-Za-z][A-Za-z0-9]*):', body, re.M))
    missing = [k for k in required if k not in keys]
    print(f"{name}: missing={','.join(missing) if missing else 'none'}")
PY

Repository: openshift/sippy

Length of output: 50374


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Check snapshot.yaml documentation/comments ==="
head -50 pkg/variantregistry/snapshot.yaml

echo
echo "=== Check how snapshot.yaml is loaded and used ==="
rg -n "snapshot" pkg/variantregistry/ocp.go | head -20

echo
echo "=== Check if there's validation or schema for variants ==="
rg -n "validate|schema|required|omitempty" pkg/variantregistry/ocp.go | grep -i variant | head -20

echo
echo "=== Show a few complete non-ROSA periodic entries for comparison ==="
rg -n -A 20 '^periodic-ci-openshift-release-master-nightly-4\.[0-9]+-e2e-aws-ovn-' pkg/variantregistry/snapshot.yaml | head -80

Repository: openshift/sippy

Length of output: 1405


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Extract the two ROSA nightly entries from lines 66900-66937 ==="
sed -n '66900,66937p' pkg/variantregistry/snapshot.yaml

echo
echo "=== Count fields in those ROSA entries ==="
sed -n '66900,66937p' pkg/variantregistry/snapshot.yaml | grep -c '^\s\{4\}[A-Za-z]'

echo
echo "=== Extract a standard AWS entry for comparison ==="
rg -A 25 '^periodic-ci-openshift-release-master-nightly-4\.16-e2e-aws-ovn-single-node-serial:' pkg/variantregistry/snapshot.yaml | head -30

echo
echo "=== Count fields in standard AWS entry ==="
rg -A 25 '^periodic-ci-openshift-release-master-nightly-4\.16-e2e-aws-ovn-single-node-serial:' pkg/variantregistry/snapshot.yaml | grep '^\s\{4\}[A-Za-z]' | wc -l

echo
echo "=== Check for Release fields in ROSA nightly entries ==="
sed -n '66900,66937p' pkg/variantregistry/snapshot.yaml | grep -E 'Release|Network|ContainerRuntime'

Repository: openshift/sippy

Length of output: 1162


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Find all ROSA entries in snapshot.yaml ==="
rg -n '^periodic-ci-openshift-online-rosa' pkg/variantregistry/snapshot.yaml | head -20

echo
echo "=== Extract one complete ROSA entry (regional platform) ==="
rg -A 18 '^periodic-ci-openshift-online-rosa-regional-platform-main' pkg/variantregistry/snapshot.yaml | head -40

echo
echo "=== Check for Network field in ANY ROSA entry ==="
rg -B 1 'Network:' pkg/variantregistry/snapshot.yaml | rg -A 1 'rosa' | head -20

echo
echo "=== Check if Release fields are present in any ROSA entry ==="
rg -B 3 'Release.*:' pkg/variantregistry/snapshot.yaml | grep -i rosa | head -10

echo
echo "=== Show what dimensions ARE present in one AWS nightly entry ==="
rg -A 20 '^periodic-ci-openshift-release-master-nightly-4\.16-e2e-aws-ovn:' pkg/variantregistry/snapshot.yaml | sed -n '1,22p'

Repository: openshift/sippy

Length of output: 1319


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Check snapshot.yaml role: is it input data or reference/schema? ==="
rg -n "snapshot" pkg/variantregistry/*.go | grep -i "load\|read\|parse\|open" | head -20

echo
echo "=== Look for how variants from snapshot are used ==="
rg -n "variantsFile\|snapshot" pkg/variantregistry/ocp.go -A 3 -B 3 | head -50

echo
echo "=== Compare ROSA test case expected variants vs snapshot ==="
rg -A 30 'job.*periodic-ci-openshift-online-rosa.*4\.19' pkg/variantregistry/ocp_test.go | head -35

echo
echo "=== Check if Release/Network are conditionally optional or computed ==="
rg -n "Variant.*=.*\"\"" pkg/variantregistry/ocp.go

Repository: openshift/sippy

Length of output: 273


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Find snapshot.Load and understand its purpose ==="
rg -n "func.*Load\|Load(" pkg/variantregistry/*.go | grep -i snapshot

echo
echo "=== Check the snapshot package/file ==="
fd snapshot pkg/variantregistry

echo
echo "=== Look at the test context around snapshot.Load ==="
rg -B 10 -A 10 'snapshot\.Load.*snapshot\.yaml' pkg/variantregistry/ocp_test.go

echo
echo "=== Check if snapshot.yaml fields must match ocp.go variant setters ==="
rg -n "variantsFile\[" pkg/variantregistry/ocp.go | head -20

echo
echo "=== Show the merge/override logic between snapshot and computed variants ==="
rg -B 5 -A 15 "for k, v := range variantFile" pkg/variantregistry/ocp.go

Repository: openshift/sippy

Length of output: 214


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Find snapshot.Load definition ==="
rg -n "Load" pkg/variantregistry/*.go | grep -i snapshot | head -10

echo
echo "=== Find snapshot package/file ==="
find pkg/variantregistry -name "*snapshot*" -type f

echo
echo "=== Check test context around snapshot.Load ==="
rg -B 10 -A 10 'snapshot.Load' pkg/variantregistry/ocp_test.go | head -50

echo
echo "=== Check variantFile usage in ocp.go ==="
rg -n 'variantFile\[' pkg/variantregistry/ocp.go

echo
echo "=== Show merge/override logic between snapshot and computed variants ==="
rg -B 5 -A 15 'for k, v := range variantFile' pkg/variantregistry/ocp.go | head -60

Repository: openshift/sippy

Length of output: 1153


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Show snapshot.go structure and Load function ==="
cat pkg/variantregistry/snapshot.go

echo
echo "=== Show the variant merge/override logic in ocp.go (lines around variantFile) ==="
sed -n '260,330p' pkg/variantregistry/ocp.go

Repository: openshift/sippy

Length of output: 4555


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Verify: Do ROSA nightly job names contain release versions? ==="
echo "Checking the two ROSA nightly job names:"
echo "1. periodic-ci-openshift-online-rosa-regional-platform-main-nightly-ephemeral"
echo "2. periodic-ci-openshift-online-rosa-regional-platform-main-nightly-integration"
echo ""
echo "Looking for release version patterns (e.g., '4.16', '4.19') in setRelease() logic:"
rg -A 30 'func.*setRelease' pkg/variantregistry/ocp.go | head -40

echo
echo "=== Compare with standard release job that HAS release version ==="
echo "Job: periodic-ci-openshift-release-master-nightly-4.16-e2e-aws-ovn-single-node-serial"
echo "(This DOES have '4.16' in the name, so Release/ReleaseMajor/ReleaseMinor should populate)"
echo ""

echo "=== Check if missing fields is expected for non-release-versioned jobs ==="
rg -B 5 -A 10 'if len.*releasesInJobName' pkg/variantregistry/ocp.go

Repository: openshift/sippy

Length of output: 2046


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Check setNetwork and setContainerRuntime logic for jobs without Release ==="
rg -A 40 'func setNetwork' pkg/variantregistry/ocp.go | head -50

echo
echo "=== Check if Network/ContainerRuntime get default values ==="
rg -A 40 'func setContainerRuntime' pkg/variantregistry/ocp.go | head -50

echo
echo "=== Final confirmation: Do the ROSA entries OMIT Network and ContainerRuntime? ==="
sed -n '66900,66937p' pkg/variantregistry/snapshot.yaml | grep -E 'Network|ContainerRuntime' || echo "CONFIRMED: Neither Network nor ContainerRuntime present in ROSA entries"

Repository: openshift/sippy

Length of output: 3039


ROSA nightly entries intentionally lack release versions—verify if release mapping should be explicit.

These ROSA entries omit Network and ContainerRuntime because the job names (periodic-ci-openshift-online-rosa-regional-platform-main-nightly-*) contain no release version (e.g., "4.16", "4.19"). The variant identification logic depends on extracting release versions from job names: without them, setRelease() produces no Release/ReleaseMajor/ReleaseMinor, and setContainerRuntime() cannot determine the runtime version (it logs a warning and skips setting the variant). The sparse shape reflects this design, but if ROSA nightly jobs should track a stable release, consider adding explicit release entries to snapshot.yaml or ensuring setNetwork() populates the Network field for these jobs.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/variantregistry/snapshot.yaml` around lines 66900 - 66937, The ROSA
nightly variants are missing Release/ReleaseMajor/ReleaseMinor and
ContainerRuntime because setRelease() cannot extract a version from job names;
update pkg/variantregistry logic so either setRelease() can fall back to a
configured default for ROSA nightlies or populate explicit release fields in
snapshot.yaml for the jobs; specifically, either modify setRelease() to detect
the "rosa" platform/nightly pattern and assign a stable release (and then let
setContainerRuntime() derive runtime), or add explicit
Release/ReleaseMajor/ReleaseMinor and ContainerRuntime keys to the
periodic-ci-openshift-online-rosa-regional-platform-main-nightly-* entries in
snapshot.yaml so setContainerRuntime() and setNetwork() can fill the variant
correctly.

@openshift-ci-robot
Copy link

Scheduling required tests:
/test e2e

@openshift-bot openshift-bot force-pushed the automated---update-config-./config/openshift.yaml branch from 9d29d43 to ddfdb47 Compare March 19, 2026 10:04
@openshift-ci-robot
Copy link

Scheduling required tests:
/test e2e

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 19, 2026

@openshift-bot: 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.

@openshift-merge-bot openshift-merge-bot bot merged commit ea2c80f into openshift:main Mar 19, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants