Skip to content

NO-JIRA: Change hypershift azure v2 job to standard - #3613

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
xueqzhan:hypershift-v2-1
Jun 12, 2026
Merged

NO-JIRA: Change hypershift azure v2 job to standard#3613
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
xueqzhan:hypershift-v2-1

Conversation

@xueqzhan

@xueqzhan xueqzhan commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes

    • Updated job tier classification for Hypershift jobs with Azure platform configurations from candidate to standard tier, ensuring proper resource allocation and scheduling.
  • Tests

    • Added test coverage for Hypershift job variant parsing to validate correct tier assignment and configuration defaults.

@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-robot

Copy link
Copy Markdown

@xueqzhan: This pull request explicitly references no jira issue.

Details

In response to this:

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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 11, 2026
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds JobTier assignment for Hypershift jobs running Azure self-managed e2e tests. The pattern matcher now recognizes these jobs and assigns them standard tier. A test case validates variant parsing for a hypershift 5.0 Azure job, and the snapshot is updated to reflect the tier reclassification.

Changes

Hypershift Azure JobTier Support

Layer / File(s) Summary
Hypershift Azure JobTier Assignment and Validation
pkg/variantregistry/ocp.go, pkg/variantregistry/ocp_test.go, pkg/variantregistry/snapshot.yaml
New pattern matching rule assigns standard tier to Hypershift jobs with e2e-azure-v2-self-managed in the job name. Test case validates variant parsing for hypershift 5.0 Azure self-managed jobs. Snapshot JobTier entries for Installer: hypershift configurations updated from candidate to standard in two locations.

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 19 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (19 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: modifying the hypershift azure v2 job tier to standard.
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.
Go Error Handling ✅ Passed No Go error handling issues found. Changes add pattern data entries and test cases only; no error handling code modifications or violations of error handling patterns detected.
Sql Injection Prevention ✅ Passed The PR changes do not involve SQL query construction. The modified files (ocp.go, ocp_test.go, snapshot.yaml) only add JobTier pattern matching logic and configuration data—not SQL queries or param...
Excessive Css In React Should Use Styles ✅ Passed The PR modifies only Go files and YAML configuration files. The custom check for React component styling is not applicable since no React components are present.
Test Coverage For New Features ✅ Passed New JobTier pattern for hypershift azure v2 jobs includes corresponding test case in TestVariantSyncer that verifies VariantJobTier equals "standard" for the job name matching the new pattern.
Single Responsibility And Clear Naming ✅ Passed Code follows single responsibility principle with clear, specific names. Package cohesively manages variant identification; structs have appropriate field counts; methods use action-oriented names...
Stable And Deterministic Test Names ✅ Passed The new test case uses job name periodic-ci-openshift-hypershift-release-5.0-periodics-e2e-azure-v2-self-managed as its test identifier, which contains only static, descriptive components (no gen...
Test Structure And Quality ✅ Passed The test changes use standard Go testing with testify assertions, not Ginkgo. The custom check applies only to Ginkgo test code, which is not present in this PR or the repository.
Microshift Test Compatibility ✅ Passed This PR adds unit tests to pkg/variantregistry/ocp_test.go, not Ginkgo e2e tests. The check applies only to new Ginkgo e2e tests (It(), Describe(), Context(), etc.), so it is not applicable here.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No Ginkgo e2e tests are added in this PR. Changes are limited to variant registry configuration and Go unit tests, which fall outside the scope of the SNO compatibility check.
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies only CI job metadata in a variant registry (Sippy project), not deployment manifests, operator code, or controllers. No scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed The OTE Binary Stdout Contract check is not applicable to this PR. The modified files (ocp.go, ocp_test.go, snapshot.yaml) are part of Sippy's variant registry utility library, not an OTE binary. N...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No Ginkgo e2e tests were added in this PR. Changes include only a JobTier configuration pattern in ocp.go, a standard Go unit test in ocp_test.go, and YAML configuration updates. Check is not appli...
No-Weak-Crypto ✅ Passed PR contains no cryptographic code, weak algorithms (MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB), custom crypto implementations, or non-constant-time comparisons. Changes are purely configuration/test...
Container-Privileges ✅ Passed Check not applicable: PR modifies Go source code and a job variant registry YAML snapshot, not Kubernetes or container manifests containing privileged security settings.
No-Sensitive-Data-In-Logs ✅ Passed No logging statements added; changes consist of configuration entries and test data only. No sensitive data like passwords, tokens, API keys, or PII are logged.

✏️ 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 deads2k and stbenjam June 11, 2026 17:50
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 11, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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/variantregistry/snapshot.yaml`:
- Line 39257: The snapshot still contains entries where Installer: hypershift
and Platform: azure but JobTier is set to candidate; update every matching YAML
document in pkg/variantregistry/snapshot.yaml so that any variant object with
Installer: hypershift and Platform: azure has JobTier: standard (not just the
hunk around JobTier at ~39257 or ~40003). Search for the keys Installer:
hypershift and Platform: azure across the file and change the corresponding
JobTier: candidate -> JobTier: standard for all in-scope “azure v2”/Azure
variants, ensuring consistency for downstream BigQuery filtering.
🪄 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: 18283b29-6868-4827-92fb-ba2bf93c0d8f

📥 Commits

Reviewing files that changed from the base of the PR and between 775169c and fad7e33.

📒 Files selected for processing (3)
  • pkg/variantregistry/ocp.go
  • pkg/variantregistry/ocp_test.go
  • pkg/variantregistry/snapshot.yaml

FeatureSet: default
Installer: hypershift
JobTier: candidate
JobTier: standard

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Find all hypershift configurations in the snapshot to verify JobTier consistency.
# Expected: All hypershift azure v2 configurations should use 'standard' tier after this change.

# Search for hypershift entries and show their JobTier values
rg -A 10 'Installer: hypershift' pkg/variantregistry/snapshot.yaml | rg -B 5 -A 5 'JobTier:'

echo "---"
echo "Summary: Hypershift entries still using 'candidate' tier (should be none after this PR):"
rg -B 3 'Installer: hypershift' pkg/variantregistry/snapshot.yaml | rg -B 3 'JobTier: candidate'

Repository: openshift/sippy

Length of output: 50372


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

# Show narrow context around the two claimed hunks.
echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

# Find "azure v2" hints near hypershift entries (if any explicit marker exists).
echo "=== Lines containing hypershift + azure + (v2|azurev2|AzureV2) ==="
rg -n --no-heading 'Installer:\s*hypershift' -S "$FILE" | head -n 5 || true
rg -n --no-heading 'Platform:\s*azure' "$FILE" | head -n 5 || true
rg -n --no-heading '(azure.?v2|Azure.?V2|v2)' "$FILE" | head -n 50 || true

# Collect all hypershift entries where Platform is azure, but only show the immediately surrounding JobTier lines.
echo "=== Hypershift+azure JobTier occurrences (limited output) ==="
rg -n --no-heading -C 6 'Installer:\s*hypershift' "$FILE" | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' | head -n 200 || true

# Specifically list hypershift+azure blocks where JobTier is candidate, to see if any look like the "azure v2" change target.
echo "=== Hypershift+azure blocks with JobTier: candidate (limited) ==="
rg -n --no-heading -C 12 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'JobTier:\s*candidate|Platform:\s*azure|Release:\s*|LayeredProduct:|NetworkAccess:|Network:\s*|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

echo "=== Search for explicit azure v2 markers ==="
rg -n --no-heading '(azure.?v2|Azure.?V2|AzureV2|AZURE_V2|v2)' "$FILE" | head -n 200 || true

echo "=== Hypershift + Platform: azure + JobTier lines (limited) ==="
rg -n --no-heading -C 8 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' \
  | head -n 200 || true

echo "=== Candidate hypershift + azure (limited) ==="
rg -n --no-heading -C 10 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*candidate|JobTier:\s*standard|JobTier:\s*hidden|Release:\s*|ReleaseMajor:|LayeredProduct:|Network:\s*|NetworkAccess:|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

echo "=== Search for explicit azure v2 markers ==="
rg -n --no-heading '(azure.?v2|Azure.?V2|AzureV2|AZURE_V2|v2)' "$FILE" | head -n 200 || true

echo "=== Hypershift + Platform: azure + JobTier lines (limited) ==="
rg -n --no-heading -C 8 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' \
  | head -n 200 || true

echo "=== Candidate hypershift + azure (limited) ==="
rg -n --no-heading -C 10 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*candidate|JobTier:\s*standard|JobTier:\s*hidden|Release:\s*|ReleaseMajor:|LayeredProduct:|Network:\s*|NetworkAccess:|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

echo "=== Search for explicit azure v2 markers ==="
rg -n --no-heading '(azure.?v2|Azure.?V2|AzureV2|AZURE_V2|v2)' "$FILE" | head -n 200 || true

echo "=== Hypershift + Platform: azure + JobTier lines (limited) ==="
rg -n --no-heading -C 8 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' \
  | head -n 200 || true

echo "=== Candidate hypershift + azure (limited) ==="
rg -n --no-heading -C 10 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*candidate|JobTier:\s*standard|JobTier:\s*hidden|Release:\s*|ReleaseMajor:|LayeredProduct:|Network:\s*|NetworkAccess:|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

echo "=== Search for explicit azure v2 markers ==="
rg -n --no-heading '(azure.?v2|Azure.?V2|AzureV2|AZURE_V2|v2)' "$FILE" | head -n 200 || true

echo "=== Hypershift + Platform: azure + JobTier lines (limited) ==="
rg -n --no-heading -C 8 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' \
  | head -n 200 || true

echo "=== Candidate hypershift + azure (limited) ==="
rg -n --no-heading -C 10 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*candidate|JobTier:\s*standard|JobTier:\s*hidden|Release:\s*|ReleaseMajor:|LayeredProduct:|Network:\s*|NetworkAccess:|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

echo "=== Search for explicit azure v2 markers ==="
rg -n --no-heading '(azure.?v2|Azure.?V2|AzureV2|AZURE_V2|v2)' "$FILE" | head -n 200 || true

echo "=== Hypershift + Platform: azure + JobTier lines (limited) ==="
rg -n --no-heading -C 8 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' \
  | head -n 200 || true

echo "=== Candidate hypershift + azure (limited) ==="
rg -n --no-heading -C 10 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*candidate|JobTier:\s*standard|JobTier:\s*hidden|Release:\s*|ReleaseMajor:|LayeredProduct:|Network:\s*|NetworkAccess:|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


🏁 Script executed:

#!/bin/bash
set -euo pipefail
FILE="pkg/variantregistry/snapshot.yaml"

echo "=== Context around line 39257 ==="
sed -n '39240,39275p' "$FILE" | nl -ba

echo "=== Context around line 40003 ==="
sed -n '39985,40025p' "$FILE" | nl -ba

echo "=== Search for explicit azure v2 markers ==="
rg -n --no-heading '(azure.?v2|Azure.?V2|AzureV2|AZURE_V2|azurev2)' "$FILE" | head -n 200 || true

echo "=== Hypershift + Platform: azure + JobTier lines (limited) ==="
rg -n --no-heading -C 8 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*(candidate|standard|hidden)' \
  | head -n 200 || true

echo "=== Candidate hypershift + azure (limited) ==="
rg -n --no-heading -C 10 'Installer:\s*hypershift' "$FILE" \
  | rg -n --no-heading 'Platform:\s*azure|JobTier:\s*candidate|JobTier:\s*standard|JobTier:\s*hidden|Release:\s*|ReleaseMajor:|LayeredProduct:|Network:\s*|NetworkAccess:|NetworkStack:' \
  | head -n 250 || true

Repository: openshift/sippy

Length of output: 154


Ensure hypershift Azure JobTier is updated consistently to standard in pkg/variantregistry/snapshot.yaml.

  • The snapshot still contains Installer: hypershift + Platform: azure entries with JobTier: candidate, so updating only the hunks at ~39257 and ~40003 likely misses other “azure v2”/Azure variants and can lead to inconsistent downstream BigQuery filtering.
  • Update all hypershift+Azure variants that are in-scope for this PR to JobTier: standard (or narrow the PR if only specific variants should change).
🤖 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/variantregistry/snapshot.yaml` at line 39257, The snapshot still contains
entries where Installer: hypershift and Platform: azure but JobTier is set to
candidate; update every matching YAML document in
pkg/variantregistry/snapshot.yaml so that any variant object with Installer:
hypershift and Platform: azure has JobTier: standard (not just the hunk around
JobTier at ~39257 or ~40003). Search for the keys Installer: hypershift and
Platform: azure across the file and change the corresponding JobTier: candidate
-> JobTier: standard for all in-scope “azure v2”/Azure variants, ensuring
consistency for downstream BigQuery filtering.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 12, 2026
@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: petr-muller, xueqzhan

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:
  • OWNERS [petr-muller,xueqzhan]

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 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: 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 eecb26f into openshift:main Jun 12, 2026
10 checks passed
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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants