Skip to content

INTEROP-9255: Register ACM+Virt interop jobs in Sippy#3830

Draft
sg-rh wants to merge 1 commit into
openshift:mainfrom
sg-rh:interop-9255-acm-virt-sippy
Draft

INTEROP-9255: Register ACM+Virt interop jobs in Sippy#3830
sg-rh wants to merge 1 commit into
openshift:mainfrom
sg-rh:interop-9255-acm-virt-sippy

Conversation

@sg-rh

@sg-rh sg-rh commented Jul 25, 2026

Copy link
Copy Markdown

Summary

Register ACM+Virt interop jobs in Sippy so they get their own layered product classification (lp-interop--acm-virt) instead of falling into the generic virt category, and add a 4.22 Component Readiness dashboard view.

Changes

1. pkg/variantregistry/ocp.go — Layered product patterns

Added two entries to layeredProductPatterns before the generic -virt/-cnv entries (first match wins):

Pattern Matches Product
-acm-cnv- P2P upgrade job (...-acm-cnv-ocp-4.22-p2p-lp-interop-aws) lp-interop--acm-virt
-acm-virt- Live migration job (...-acm-virt-ocp4.22-p2p-cclm-liv-mig-lp-interop-aws) lp-interop--acm-virt

2. config/views.yaml — New CR dashboard view

Added 4.22-LP-Interop--lpMainline view:

  • Base release: 4.21 (GA-30d → GA)
  • Sample release: 4.22 (now-30d → now)
  • Filter: Owner: mpiit, LayeredProduct: [] (any), Network: ovn

3. pkg/variantregistry/snapshot.yaml — Regenerated

Live migration job reclassified: LayeredProduct: virtLayeredProduct: lp-interop--acm-virt

Related

  • openshift/release PR #82108 — CR reporting config for ACM+Virt jobs
  • openshift-eng/ci-test-mapping PR #786 — LP--ACM component registration
  • JIRA: INTEROP-9255

Made with Cursor

Summary by CodeRabbit

  • New Features
    • Added the 4.22-LP-Interop--lpMainline readiness view for tracking layered-product interoperability.
    • Added filtering by OVN networking and MPIIT ownership, with architecture, network, platform, and topology comparisons.
    • Enabled regression tracking, multi-release analysis, and stricter new-test pass-rate thresholds.
    • Improved recognition and reporting of ACM Virtualization and Container Native Virtualization workloads under the layered-product category.

Add layered product patterns for ACM+Virt interop jobs so they get
classified as 'lp-interop--acm-virt' instead of the generic 'virt':
- {-acm-cnv-} matches P2P upgrade job
- {-acm-virt-} matches live migration job

Both patterns placed before generic -virt/-cnv entries (first match wins).

Add 4.22-LP-Interop--lpMainline view for Component Readiness dashboard,
filtering by Owner: mpiit to show all MPIIT interop jobs.

Regenerated snapshot.yaml via make update-variants.

Co-authored-by: Cursor <cursoragent@cursor.com>
@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 openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 25, 2026
@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 Jul 25, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 25, 2026

Copy link
Copy Markdown

@sg-rh: This pull request references INTEROP-9255 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

Register ACM+Virt interop jobs in Sippy so they get their own layered product classification (lp-interop--acm-virt) instead of falling into the generic virt category, and add a 4.22 Component Readiness dashboard view.

Changes

1. pkg/variantregistry/ocp.go — Layered product patterns

Added two entries to layeredProductPatterns before the generic -virt/-cnv entries (first match wins):

Pattern Matches Product
-acm-cnv- P2P upgrade job (...-acm-cnv-ocp-4.22-p2p-lp-interop-aws) lp-interop--acm-virt
-acm-virt- Live migration job (...-acm-virt-ocp4.22-p2p-cclm-liv-mig-lp-interop-aws) lp-interop--acm-virt

2. config/views.yaml — New CR dashboard view

Added 4.22-LP-Interop--lpMainline view:

  • Base release: 4.21 (GA-30d → GA)
  • Sample release: 4.22 (now-30d → now)
  • Filter: Owner: mpiit, LayeredProduct: [] (any), Network: ovn

3. pkg/variantregistry/snapshot.yaml — Regenerated

Live migration job reclassified: LayeredProduct: virtLayeredProduct: lp-interop--acm-virt

Related

  • openshift/release PR #82108 — CR reporting config for ACM+Virt jobs
  • openshift-eng/ci-test-mapping PR #786 — LP--ACM component registration
  • JIRA: INTEROP-9255

Made with Cursor

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

openshift-ci Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci

openshift-ci Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: sg-rh
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

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Adds layered-product classification for ACM interoperability jobs and introduces a 4.22-LP-Interop--lpMainline readiness view with release windows, filters, thresholds, and regression tracking.

Changes

LP interoperability readiness

Layer / File(s) Summary
Layered-product classification mappings
pkg/variantregistry/ocp.go, pkg/variantregistry/snapshot.yaml
ACM CNV and ACM virtual machine job names map to lp-interop--acm-virt, and the snapshot reflects the updated layered-product value.
LP mainline readiness view
config/views.yaml
Adds release windows, variant filters, advanced thresholds, multi-release analysis, disabled metrics and prime cache, and enabled regression tracking for 4.22-LP-Interop--lpMainline.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: dgoodwin, neisw, oharan2

🚥 Pre-merge checks | ✅ 20 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Test Coverage For New Features ⚠️ Warning setLayeredProduct gained new acm-cnv/acm-virt branches, but ocp_test.go has no acm-specific cases; only generic virt/cnv coverage exists. Add focused table tests for ACM-CNV and ACM-Virt jobs, including a precedence case showing they beat generic -virt/-cnv matches.
✅ Passed checks (20 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: registering ACM+Virt interop jobs in Sippy.
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.
Go Error Handling ✅ Passed The PR only adds substring-based layered-product matches; it introduces no new error returns, panics, or nil dereferences.
Sql Injection Prevention ✅ Passed No SQL query construction changed; the PR only updates variant mapping and YAML config, so SQL injection risk is not applicable.
Excessive Css In React Should Use Styles ✅ Passed No React components or inline CSS were changed; the PR only touches YAML and Go, so this styling rule is not applicable.
Single Responsibility And Clear Naming ✅ Passed The PR adds narrowly scoped layered-product mappings and a descriptively named readiness view; setLayeredProduct stays single-purpose and naming matches existing conventions.
Feature Documentation ✅ Passed PASS: docs/features contains only job-analysis-symptoms.md; no component-readiness/variantregistry feature doc exists to update, and the PR only changes config/classification.
Stable And Deterministic Test Names ✅ Passed No test files or Ginkgo titles were changed; the diff only touches YAML and variant-classification code.
Test Structure And Quality ✅ Passed PASS: The PR only changes config and non-test variant code; no Ginkgo specs or Eventually/Consistently calls are added or modified.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes YAML config and variant classification code, with no MicroShift-sensitive APIs or guards involved.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes config and variant registry files, so SNO compatibility isn’t applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only dashboard config and variant-registry mappings changed; no deployment, controller, or scheduling-constraint code was introduced.
Ote Binary Stdout Contract ✅ Passed No stdout writes were added in process-level code; the PR only changes YAML and layered-product mapping, with no fmt.Print/klog/log.SetOutput in entrypoints or init/setup.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests or network-sensitive code were added; the PR only changes variant registry/config.
No-Weak-Crypto ✅ Passed Exact scans found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB or ConstantTimeCompare/bytes.Equal in touched files; ocp.go has no crypto imports.
Container-Privileges ✅ Passed PASS: The PR only changes dashboard/variant files; no container/K8s manifests or privilege flags (privileged, hostPID/Network/IPC, SYS_ADMIN, allowPrivilegeEscalation) were added.
No-Sensitive-Data-In-Logs ✅ Passed The patch adds only layered-product patterns and YAML config; no new logging or sensitive data exposure is introduced.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ast-grep (0.44.1)
pkg/variantregistry/snapshot.yaml

ast-grep skipped this file: it is too large to scan (8415954 bytes)

🔧 Checkov (3.3.8)
pkg/variantregistry/snapshot.yaml

Checkov skipped this file: it is too large to scan (8415954 bytes)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@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/ocp.go`:
- Around line 1366-1367: Add focused regression tests in the OCP variant
registry tests for the new -acm-cnv- and -acm-virt- mappings, verifying each
resolves to lp-interop--acm-virt and takes precedence over the generic -virt and
-cnv mappings. Keep the cases scoped to the modified variant-classification
behavior.
🪄 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: Pro Plus

Run ID: 797380b7-ad34-4c17-bdc7-4a395c9d9aea

📥 Commits

Reviewing files that changed from the base of the PR and between 1c5aaf7 and 80787a5.

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

Comment on lines +1366 to +1367
{"-acm-cnv-", "lp-interop--acm-virt"},
{"-acm-virt-", "lp-interop--acm-virt"},

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate files =="
git ls-files | rg '(^|/)(ocp\.go|ocp_test\.go)$|pkg/variantregistry' || true

echo "== relevant mapping lines =="
if [ -f pkg/variantregistry/ocp.go ]; then
  nl -ba pkg/variantregistry/ocp.go | sed -n '1330,1385p'
fi

echo "== search for relevant test cases =="
if [ -f pkg/variantregistry/ocp_test.go ]; then
  rg -n "lp-interop|acm-cnv|acm-virt|acm|cnv|virt" pkg/variantregistry/ocp_test.go || true
  echo "== file size =="
  wc -l pkg/variantregistry/ocp_test.go
  echo "== outline/test function names (top-level relevant) =="
  rg -n "func Test|func .*Layer|func .*Variant|acm|lp-interop|cnv|virt" pkg/variantregistry/ocp_test.go || true
else
  echo "pkg/variantregistry/ocp_test.go not found"
fi

echo "== define mapping-related function outline =="
if [ -f pkg/variantregistry/ocp.go ]; then
  ast-grep outline pkg/variantregistry/ocp.go --match "map" --view expanded || true
  ast-grep outline pkg/variantregistry/ocp.go --match "func" --view expanded || true
fi

Repository: openshift/sippy

Length of output: 502


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== relevant mapping lines =="
awk 'NR>=1330 && NR<=1385 {printf "%6d\t%s\n", NR, $0}' pkg/variantregistry/ocp.go

echo "== search for relevant test cases =="
awk 'BEGIN{IGNORECASE=1} /lp-interop|acm-cnv|acm-virt|acm|cnv|virt/' pkg/variantregistry/ocp_test.go || true

echo "== test function/function name lines and relevant counts =="
awk '/func Test|func .*Layer|func .*Variant|acm|lp-interop|cnv|virt/ {printf "%6d\t%s\n", NR, $0}' pkg/variantregistry/ocp_test.go || true

echo "== file sizes =="
wc -l pkg/variantregistry/ocp_test.go pkg/variantregistry/ocp.go

echo "== structural/context for mapping slice =="
awk '/acm-cnv-|acm-virt-|-virt-|-cnv-|layer|Layer|Job|Variant|variant/ {printf "%6d\t%s\n", NR, $0}' pkg/variantregistry/ocp.go | sed -n '1,240p'

Repository: openshift/sippy

Length of output: 21248


Add regression coverage for the new ACM layered-product mappings.

Add focused test cases for -acm-cnv- and -acm-virt- in pkg/variantregistry/ocp_test.go, including a case that proves precedence over the generic -virt/-cnv mappings. This is needed to meet the Go test-coverage requirement for modified variant classification behavior.

🤖 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/ocp.go` around lines 1366 - 1367, Add focused regression
tests in the OCP variant registry tests for the new -acm-cnv- and -acm-virt-
mappings, verifying each resolves to lp-interop--acm-virt and takes precedence
over the generic -virt and -cnv mappings. Keep the cases scoped to the modified
variant-classification behavior.

Source: Coding guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants