[OCPERT-394] Add 4.23 test job registry and enable in dashboard#1084
[OCPERT-394] Add 4.23 test job registry and enable in dashboard#1084jhuttana wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughA new ChangesOCP 4.23 Release Support
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
This PR depends upon : openshift/release#80572 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
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
📒 Files selected for processing (2)
_releases/ocp-4.23-test-jobs-amd64.jsontools/auto_release_test_dashboard.py
| { | ||
| "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 | ||
| } | ||
| ] | ||
| } |
There was a problem hiding this comment.
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.
🧩 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 -5Repository: 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 -50Repository: 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 -20Repository: 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.pyRepository: 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 pyRepository: 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") |
There was a problem hiding this comment.
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.
59dfa2d to
7182946
Compare
|
@jhuttana: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
JIRA: https://redhat.atlassian.net/browse/OCPERT-394
Summary by CodeRabbit