Skip to content

[OCPERT-394] Add 4.23 test job registry and enable in dashboard#1084

Open
jhuttana wants to merge 2 commits into
openshift:mainfrom
jhuttana:OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard
Open

[OCPERT-394] Add 4.23 test job registry and enable in dashboard#1084
jhuttana wants to merge 2 commits into
openshift:mainfrom
jhuttana:OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard

Conversation

@jhuttana

@jhuttana jhuttana commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

JIRA: https://redhat.atlassian.net/browse/OCPERT-394

Summary by CodeRabbit

  • New Features
    • Added OpenShift Container Platform 4.23 release support to the auto-release test dashboard. Users can now select 4.23 in the minor release dropdown to view nightly and stable test job results, including upgrade-related test runs where applicable.

@coderabbitai

coderabbitai Bot commented Jun 17, 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: 6a9ae05e-6cc3-40a1-9b75-3ca53caa4c6c

📥 Commits

Reviewing files that changed from the base of the PR and between 189e3b0 and 0d8b1cf.

📒 Files selected for processing (1)
  • _releases/ocp-4.23-test-jobs-amd64.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • _releases/ocp-4.23-test-jobs-amd64.json

Walkthrough

The pull request adds a new 4.23 release-job JSON config with nightly and stable job lists, and updates the Streamlit dashboard so 4.23 appears in the minor release selector.

Changes

OCP 4.23 Release Support

Layer / File(s) Summary
Release jobs and dashboard option
_releases/ocp-4.23-test-jobs-amd64.json, tools/auto_release_test_dashboard.py
Adds the 4.23 test-job configuration with nightly and stable job arrays, including selected upgrade-marked entries, and extends the dashboard release dropdown with 4.23.

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

Suggested labels: jira/valid-reference

Suggested reviewers: barboras7

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main changes: adding the 4.23 test job registry and enabling 4.23 in the dashboard.
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 The PR only adds a release-job JSON file and a dashboard dropdown option; no Ginkgo test titles were added or modified.
Test Structure And Quality ✅ Passed PASS: PR only adds a release-job JSON and updates a Streamlit dropdown; no Ginkgo test code or cluster-interacting tests were changed.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes release-job JSON and a dashboard release dropdown, with no MicroShift-unsafe test code introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only adds a release-job JSON and dashboard dropdown option; no new Ginkgo e2e tests or SNO-sensitive test logic were introduced.
Topology-Aware Scheduling Compatibility ✅ Passed Only a test-job registry JSON and a dropdown option were added; no manifests, controllers, or pod scheduling constraints changed.
Ote Binary Stdout Contract ✅ Passed PASS: The only code change adds a Streamlit selectbox option; no main/init/suite-level stdout writes or print/log calls were introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo tests were added; the PR only adds a job-registry JSON file and a dashboard release dropdown entry.
No-Weak-Crypto ✅ Passed Changed files only add release job names and a dashboard dropdown; no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB or secret comparisons appear in touched code.
Container-Privileges ✅ Passed Checked both modified files; they’re a JSON job registry and a Streamlit dropdown update, with no privileged/container security fields or K8s manifests.
No-Sensitive-Data-In-Logs ✅ Passed No new logging of secrets/PII/internal hosts was added; the only token-related text is a generic missing-GITHUB_TOKEN warning.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@jhuttana

Copy link
Copy Markdown
Contributor Author

This PR depends upon : openshift/release#80572

@openshift-ci openshift-ci Bot requested review from LuboTerifaj and barboras7 June 17, 2026 07:13
@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

🤖 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 `@_releases/ocp-4.23-test-jobs-amd64.json`:
- Around line 1-38: The PR title indicates this adds 4.22 configuration but the
actual changes in the file and all prowJob definitions reference 4.23 (as seen
in job names like
"periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-f999"
and other 4.23 references throughout the nightly and stable sections). Update
the PR title to accurately reflect that this adds 4.23 test job configuration,
not 4.22, to align with the actual changes being made.
- Around line 1-38: Update the Jira notificator to include version 4.23.z in its
supported versions list. Locate the hardcoded JQL query string in
oar/notificator/jira_notificator.py (around line 741) that contains the 'Target
Version' condition with versions 4.12.z through 4.22.z, and add 4.23.z to the
end of this comma-separated list to enable Jira notifications for the new
release version.

In `@tools/auto_release_test_dashboard.py`:
- Line 123: The PR title incorrectly states that version 4.22 is being added to
the dashboard, but the actual code change in the version tuple (containing
versions like 4.12 through 4.23) shows that version 4.23 is being added instead.
Update the PR title to accurately reflect that 4.23 is the version being added
to the auto_release_test_dashboard.py selector, ensuring consistency with the
actual code changes and the job registry file.
🪄 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: 94235485-b2a8-45c3-baa9-d16ce7fca555

📥 Commits

Reviewing files that changed from the base of the PR and between 67d4f1b and 59dfa2d.

📒 Files selected for processing (2)
  • _releases/ocp-4.23-test-jobs-amd64.json
  • tools/auto_release_test_dashboard.py

Comment on lines +1 to +38
{
"nightly": [
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-azure-ipi-fips-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-gcp-ipi-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-disruptive-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.22-gcp-ipi-f999",
"upgrade": true
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-nightly-4.23-upgrade-from-stable-4.23-aws-ipi-f999",
"upgrade": true
}
],
"stable": [
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.22-aws-ipi-f999",
"upgrade": true
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.23-azure-ipi-fips-f999",
"upgrade": true
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.23-gcp-ipi-f999",
"upgrade": true
}
]
}

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 | 🔴 Critical | ⚡ Quick win

Critical: PR title mentions 4.22, but this file adds 4.23 configuration.

The PR title states "Add 4.22 test job" but the filename is ocp-4.23-test-jobs-amd64.json and all job definitions reference version 4.23. This discrepancy between the PR title and the actual changes could cause significant confusion during code review and release tracking.

Please update the PR title to accurately reflect that this adds 4.23 configuration, not 4.22.

🤖 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 `@_releases/ocp-4.23-test-jobs-amd64.json` around lines 1 - 38, The PR title
indicates this adds 4.22 configuration but the actual changes in the file and
all prowJob definitions reference 4.23 (as seen in job names like
"periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-f999"
and other 4.23 references throughout the nightly and stable sections). Update
the PR title to accurately reflect that this adds 4.23 test job configuration,
not 4.22, to align with the actual changes being made.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check if other 4.23 version support updates exist in the repository

echo "=== Checking Jira notificator for 4.23 references ==="
rg -n "4\.23|4.23" oar/notificator/jira_notificator.py || echo "No 4.23 references found in Jira notificator"

echo -e "\n=== Checking ConfigStore for 4.23 references ==="
rg -n "4\.23|4.23" oar/core/configstore.py config_store.json 2>/dev/null || echo "No 4.23 references found in ConfigStore"

echo -e "\n=== Checking for 4.23 stage-testing pipeline configs ==="
fd -e yaml -e yml . --exec sh -c 'if rg -q "4\.23.*stage" {}; then echo "Found in: {}" && rg -n "4\.23.*stage" {}; fi'

Repository: openshift/release-tests

Length of output: 314


🏁 Script executed:

#!/bin/bash
# Check how existing versions are referenced in Jira notificator

echo "=== Finding version references in Jira notificator ==="
rg -n "4\.(1[0-9]|2[0-3])" oar/notificator/jira_notificator.py | head -20

echo -e "\n=== Checking if Jira queries are dynamic or version-specific ==="
rg -B5 -A5 "supported.*version|version.*support|OCPBUGS" oar/notificator/jira_notificator.py | head -40

echo -e "\n=== Looking for 4.22 and 4.21 in test report templates ==="
rg -l "4\.22|4\.21" . --type yaml --type json 2>/dev/null | grep -E "(template|report|worksheet)" || echo "No version-specific templates found"

echo -e "\n=== Checking ConfigStore for how versions are registered ==="
head -100 oar/core/configstore.py | grep -A30 "class ConfigStore"

echo -e "\n=== Looking for Jenkins ci-profile definitions for stage-testing ==="
fd -type f -name "*.py" . --exec grep -l "stage.*ci.*profile\|ci.*profile.*stage" {} \; 2>/dev/null | head -5

Repository: openshift/release-tests

Length of output: 2090


🏁 Script executed:

#!/bin/bash
# More targeted search for missing version support items

echo "=== Searching for test report templates and version configuration ==="
fd -type f \( -name "*template*" -o -name "*worksheet*" \) . --exec grep -l "4\.(1[0-9]|2[0-3])" {} \; 2>/dev/null | head -10

echo -e "\n=== Looking for stage-testing Jenkins job definition ==="
rg -n "stage.*testing\|stage.*pipeline\|stage-testing" oar/core/jenkins.py -A 5

echo -e "\n=== Checking Prow config for image-consistency-check version handling ==="
fd -type f -name "*.py" . --exec grep -l "image.*consistency.*check\|image-consistency" {} \; 2>/dev/null | xargs grep -l "4\.2" 2>/dev/null | head -3

echo -e "\n=== Searching for ConfigStore entries that reference specific versions ==="
rg -n "4\.22|4\.21|4\.20" oar/core/configstore.py

echo -e "\n=== Looking for config_store.json structure for version-specific mappings ==="
cat config_store.json 2>/dev/null | head -50

Repository: openshift/release-tests

Length of output: 425


🏁 Script executed:

#!/bin/bash
# Check more carefully for what needs to be updated

echo "=== Exact check: Is 4.23.z in Jira notificator's supported versions? ==="
rg "4\.23\.z|4.23.z" oar/notificator/jira_notificator.py && echo "FOUND: 4.23.z is included" || echo "NOT FOUND: 4.23.z is missing"

echo -e "\n=== Show the exact line from Jira notificator ==="
rg -n "Target Version" oar/notificator/jira_notificator.py

echo -e "\n=== Check if there are test report template files in the repo ==="
find . -type f -name "*template*" -o -name "*test*report*" 2>/dev/null | grep -v ".git" | head -20

echo -e "\n=== List all files matching job registry pattern ==="
find . -name "*test-jobs*" -type f 2>/dev/null

echo -e "\n=== Check how job registry files are discovered/used in code ==="
rg -n "test-jobs.*\.json\|test-jobs" oar/ prow/ --type py | head -20

Repository: openshift/release-tests

Length of output: 1221


🏁 Script executed:

#!/bin/bash
# Check if version support is static or dynamic

echo "=== Verify if 4.23.z needs to be added to Jira notificator ==="
cat oar/notificator/jira_notificator.py | sed -n '735,750p'

echo -e "\n=== Check create_test_report.py to see if it handles versions dynamically ==="
cat oar/cli/cmd_create_test_report.py | head -100

echo -e "\n=== Look for any documentation about version support ==="
rg -l "4\.23|Version.*Support\|when adding.*version" . --type md 2>/dev/null

echo -e "\n=== Check AGENTS.md for version support statements ==="
rg -B2 -A2 "4\.23|when adding support" AGENTS.md 2>/dev/null || echo "Not found"

echo -e "\n=== Check if version is dynamically validated anywhere ==="
rg -n "validate.*version|supported.*version" oar/core/util.py

Repository: openshift/release-tests

Length of output: 4269


🏁 Script executed:

#!/bin/bash
# Final verification of remaining items

echo "=== Item 3: Check test report templates - are they version-specific? ==="
rg -n "worksheet\|WorksheetManager\|template" oar/cli/cmd_create_test_report.py | head -15

echo -e "\n=== Item 4: Jenkins stage-testing job parameters ==="
rg -n "stage_job\|call_stage_job\|ci.profile" oar/core/jenkins.py -A 5 | head -30

echo -e "\n=== Item 5: Prow image-consistency-check configuration ==="
fd -type f -name "*.py" prow/ . --exec grep -l "image.*consistency" {} \; 2>/dev/null | head -3

echo -e "\n=== Item 6: ConfigStore version registration ==="
rg -n "4\.22|4\.21|release.*version\|version.*config" oar/core/configstore.py | grep -E "4\.|version" | head -20

echo -e "\n=== Check if ConfigStore loads version-specific data ==="
rg -B3 -A3 "def __init__" oar/core/configstore.py | head -30

echo -e "\n=== Grep for any hardcoded version lists in the codebase ==="
rg -n "4\.12.*4\.13.*4\.14|supported.*version.*4\." oar/ --type py

Repository: openshift/release-tests

Length of output: 867


Add 4.23.z to Jira notificator's supported versions list

While the job registry configuration for 4.23 is included, the Jira notificator hardcodes a list of supported versions at oar/notificator/jira_notificator.py:741 that currently includes versions 4.12.z through 4.22.z. The version 4.23.z must be added to this list:

"AND status = ON_QA AND 'Target Version' in (4.12.z, 4.13.z, 4.14.z, 4.15.z, 4.16.z, 4.17.z, 4.18.z, 4.19.z, 4.20.z, 4.21.z, 4.22.z, 4.23.z)"

The other items from the coding guidelines (test report templates, Jenkins ci-profiles, Prow image-consistency-check, ConfigStore) appear to use dynamic version handling and do not require explicit updates for each new version.

🤖 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 `@_releases/ocp-4.23-test-jobs-amd64.json` around lines 1 - 38, Update the Jira
notificator to include version 4.23.z in its supported versions list. Locate the
hardcoded JQL query string in oar/notificator/jira_notificator.py (around line
741) that contains the 'Target Version' condition with versions 4.12.z through
4.22.z, and add 4.23.z to the end of this comma-separated list to enable Jira
notifications for the new release version.

Source: Coding guidelines

release = st.selectbox(
'Choose minor release',
("4.12", "4.13", "4.14", "4.15", "4.16", "4.17", "4.18", "4.19", "4.20", "4.21", "4.22", "5.0")
("4.12", "4.13", "4.14", "4.15", "4.16", "4.17", "4.18", "4.19", "4.20", "4.21", "4.22", "4.23", "5.0")

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 | 🔴 Critical | ⚡ Quick win

PR title mentions 4.22, but this adds 4.23 to the dashboard.

Consistent with the job registry file, this line adds support for release "4.23" to the dashboard selector, not "4.22" as stated in the PR title. The PR title should be corrected to match the actual version being added.

🤖 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 `@tools/auto_release_test_dashboard.py` at line 123, The PR title incorrectly
states that version 4.22 is being added to the dashboard, but the actual code
change in the version tuple (containing versions like 4.12 through 4.23) shows
that version 4.23 is being added instead. Update the PR title to accurately
reflect that 4.23 is the version being added to the
auto_release_test_dashboard.py selector, ensuring consistency with the actual
code changes and the job registry file.

@jhuttana jhuttana force-pushed the OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard branch from 59dfa2d to 7182946 Compare June 17, 2026 07:45
@jhuttana jhuttana changed the title [OCPERT-394] Add 4.22 test job registry and enable in dashboard [OCPERT-394] Add 4.23 test job registry and enable in dashboard Jun 17, 2026
@jhuttana jhuttana force-pushed the OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard branch from 7182946 to 189e3b0 Compare June 30, 2026 09:18
@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown

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

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.

1 participant