Skip to content

[virt] STP for dual-stream RHCOS support#92

Open
akri3i wants to merge 1 commit intoRedHatQE:mainfrom
akri3i:dual-stream
Open

[virt] STP for dual-stream RHCOS support#92
akri3i wants to merge 1 commit intoRedHatQE:mainfrom
akri3i:dual-stream

Conversation

@akri3i
Copy link
Copy Markdown

@akri3i akri3i commented Apr 22, 2026

STP Metadata

STP for dual-stream RHCOS 9.8 and RHCOS 10.2 support
VEP issue:

What this PR does

Special notes for your reviewer

Summary by CodeRabbit

  • Documentation
    • Added Software Test Plan for dual-stream RHCOS9.8 and RHCOS10.2 worker nodes support, including testing goals, environment requirements, automation strategy, and test scenarios for live migration across RHCOS versions.

@akri3i
Copy link
Copy Markdown
Author

akri3i commented Apr 22, 2026

/wip

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR introduces a complete Software Test Plan for dual-stream RHCOS support (9.8 + 10.2 worker nodes) in OpenShift Virtualization. The document specifies QE review criteria, acceptance criteria including bidirectional live migration, FIPS-enabled testing requirements, test strategy with phased automation decisions, environment topology, and traceable scenarios.

Changes

Dual-Stream RHCOS STP Document

Layer / File(s) Summary
Document Metadata & Scope
stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md
STP introduction with ownership links, SIGs, target releases (OCP 4.22, CNV 4.22, RHCOS10.2 Tech Preview), and parent-STP guidance.
Requirements & QE Review
stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md
Dual-stream terminology; QE review checklist covering requirements, acceptance criteria (live migration without downtime), FIPS requirements, technology/design reviews, and known limitations (el10 userspace unsupported through OCP 5.2).
Test Strategy & Automation
stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md
Scope for RHCOS10.2-only and dual-stream clusters; P0/P1 testing goals; release readiness (RHCOS10.2 not 4.22 blocker, will block CNV 5.0); automation phasing for OCPSTRAT-1150 (manual ad-hoc first, Tier 2 node-affinity automation over time); upgrade testing deferred.
Test Environment & Entry Criteria
stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md
FIPS-enabled bare-metal HA topology with mixed RHCOS9.8/RHCOS10.2 workers; OCP 4.22 + CNV 4.22 (el9.8 userspace); CPU/storage/network baselines; entry criteria (approved docs, dual-stream provisioning, userspace confirmation); risks identifying environment and tooling constraints.
Test Scenarios & Sign-Off
stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md
Two Tier 2/3 scenarios for CNV-81251 covering bidirectional live migration between RHCOS9.8↔RHCOS10.2 with VM uptime verification; reviewer and approver sign-off.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title '[virt] STP for dual-stream RHCOS support' directly and specifically summarizes the main change—addition of a Software Test Plan document for dual-stream RHCOS support in virtualization.
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.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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 and usage tips.

@openshift-virtualization-qe-bot-4 openshift-virtualization-qe-bot-4 changed the title [virt] STP for dual-stream RHCOS support WIP: [virt] STP for dual-stream RHCOS support Apr 22, 2026
@openshift-virtualization-qe-bot-2
Copy link
Copy Markdown

Report bugs in Issues

Welcome! 🎉

This pull request will be automatically processed with the following features:

🔄 Automatic Actions

  • Reviewer Assignment: Reviewers are automatically assigned based on the OWNERS file in the repository root
  • Size Labeling: PR size labels (XS, S, M, L, XL, XXL) are automatically applied based on changes
  • Issue Creation: A tracking issue is created for this PR and will be closed when the PR is merged or closed
  • Branch Labeling: Branch-specific labels are applied to track the target branch
  • Auto-verification: Auto-verified users have their PRs automatically marked as verified
  • Labels: Enabled categories: branch, can-be-merged, cherry-pick, has-conflicts, hold, needs-rebase, size, verified, wip

📋 Available Commands

PR Status Management

  • /wip - Mark PR as work in progress (adds WIP: prefix to title)
  • /wip cancel - Remove work in progress status
  • /hold - Block PR merging (approvers only)
  • /hold cancel - Unblock PR merging
  • /verified - Mark PR as verified
  • /verified cancel - Remove verification status
  • /reprocess - Trigger complete PR workflow reprocessing (useful if webhook failed or configuration changed)
  • /regenerate-welcome - Regenerate this welcome message

Review & Approval

  • /lgtm - Approve changes (looks good to me)
  • /approve - Approve PR (approvers only)
  • /assign-reviewers - Assign reviewers based on OWNERS file
  • /assign-reviewer @username - Assign specific reviewer
  • /check-can-merge - Check if PR meets merge requirements

Testing & Validation

  • /retest tox - Run Python test suite with tox
  • /retest all - Run all available tests

Cherry-pick Operations

  • /cherry-pick <branch> - Schedule cherry-pick to target branch when PR is merged
    • Multiple branches: /cherry-pick branch1 branch2 branch3

Label Management

  • /<label-name> - Add a label to the PR
  • /<label-name> cancel - Remove a label from the PR

✅ Merge Requirements

This PR will be automatically approved when the following conditions are met:

  1. Approval: /approve from at least one approver
  2. LGTM Count: Minimum 2 /lgtm from reviewers
  3. Status Checks: All required status checks must pass
  4. No Blockers: No wip, hold, has-conflicts labels and PR must be mergeable (no conflicts)

📊 Review Process

Approvers and Reviewers

Approvers:

  • dshchedr
  • vsibirsk

Reviewers:

  • SamAlber
  • SiboWang1997
  • akri3i
  • dshchedr
  • jerry7z
  • kbidarkar
  • vsibirsk
Available Labels
  • hold
  • verified
  • wip
  • lgtm
  • approve
AI Features
  • Cherry-Pick Conflict Resolution: Enabled (claude/claude-opus-4-6[1m])

💡 Tips

  • WIP Status: Use /wip when your PR is not ready for review
  • Verification: The verified label is removed on new commits unless the push is detected as a clean rebase
  • Cherry-picking: Cherry-pick labels are processed when the PR is merged
  • Permission Levels: Some commands require approver permissions
  • Auto-verified Users: Certain users have automatic verification and merge privileges

For more information, please refer to the project documentation or contact the maintainers.

@openshift-virtualization-qe-bot-2
Copy link
Copy Markdown

jerry7z can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@openshift-virtualization-qe-bot-2
Copy link
Copy Markdown

SiboWang1997 can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

Copy link
Copy Markdown

@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: 9

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@stps/sig-virt/dual_stream_rhcos_support.md`:
- Line 9: Remove all inline HTML template comments and example/template remnants
from the markdown (e.g., the <!-- Tasks must be created to block the feature -->
comment and any other <!-- ... --> blocks in
stps/sig-virt/dual_stream_rhcos_support.md), including the occurrences around
the noted ranges (near lines referenced: 199, 368, 422-424); search for "<!--"
and delete those comment blocks and any placeholder/example text left behind,
then run a quick grep/scan to confirm no remaining "<!--" tokens before
resubmitting.
- Around line 444-457: The scenario tier annotations "[Tier 2 and Tier 3]" are
invalid; update the two scenario rows (the lines for "Scenario 1" and "Scenario
2") so each row carries a single Tier value (1 or 2) per STP rules: either
replace "[Tier 2 and Tier 3]" with a single tier like "[Tier 2]" or split a
combined entry into two separate scenario rows (one "[Tier 2]" and one "[Tier
1]" or "[Tier 2]" as intended). Ensure the scenario text for Scenario 1 and
Scenario 2 each has exactly one tier bracketed value and add an additional row
if you intended multiple tiers.
- Around line 372-417: The Risks section under "#### **5. Risks**" currently
lists Timeline/Schedule, Test Environment, Resource Constraints, and Other but
is missing the mandatory categories Test Coverage, Untestable Aspects, and
Dependencies; update this section to include all seven categories
(Timeline/Schedule, Test Coverage, Test Environment, Untestable Aspects,
Resource Constraints, Dependencies, Other), and for each category add a concise
"Risk", corresponding "Mitigation", and a "Sign-off: [Name/Date]" (allowing
justified "N/A" only with mitigation and sign-off), following the existing style
used in the Timeline and Resource Constraints paragraphs so reviewers can find
them under the same "#### **5. Risks**" header.
- Around line 19-37: Rewrite the Document Conventions and Feature Overview to
remove implementation internals: delete references to component internals like
virt-launcher, virt-controller, and CNV component images and avoid
kernel/userspace mechanics (kernelspace/userspace, ks/us); instead keep only
feature-specific terms (RHCOS9.8, RHCOS10.2, Dual-stream cluster) in the
conventions. In the Feature Overview replace implementation-centric phrasing
about "keeping userspace on RHEL 9.8" and "node kernelspace transitions to el10"
with user-observable behavior and outcomes (e.g., which node types are
supported, expected VM behavior, compatibility guarantees, and any user-facing
constraints or upgrade implications). Ensure terminology uses only the retained
feature-specific symbols (RHCOS9.8, RHCOS10.2, Dual-stream cluster) and remove
engineering/team sign-off or internal component details.
- Around line 97-99: Replace all placeholder tokens "[Name/Date]" in the
document with concrete approver names and explicit sign-off dates; specifically
update the "Definition of \"component readiness for 5.0\"" entry and every
occurrence inside acceptance gaps, limitations, out-of-scope agreements, test
limitations, and risk sign-offs so each limitation/risks line contains a named
approver and date. Ensure entries in those sections include full sign-off
wording (approver name, role, and ISO-style date) and remove any remaining empty
placeholders so the STP meets the approval requirements.
- Line 335: The Test Environment section currently uses the generic phrase
"Storage: Standard"; update that to specify the exact StorageClass name(s) used
(for example "Storage: StorageClass: gp2" or "Storage: StorageClass:
rook-ceph-block") or replace with an approved agnostic justification per repo
style; locate the "Storage: Standard" entry in dual_stream_rhcos_support.md
(Test Environment block) and change it to an explicit StorageClass list or an
approved agnostic statement with justification.
- Around line 7-12: Update the STP metadata block in
dual_stream_rhcos_support.md: add a new "Feature Tracking" entry pointing to a
feature-level Jira (or create one) and ensure "Enhancement(s)" either references
a VEP/HLD/design doc or explicitly states that no VEP/HLD exists and justifies
why the Jira is the closest artifact, and expand "QE Owner(s)" to include full
contact info (e.g., "Akriti Gupta <email@example.com>" or Slack handle) rather
than name only; modify the header fields "Enhancement(s)", "Feature Tracking",
and "QE Owner(s)" accordingly.
- Around line 110-113: The “- **UI:** No new UI changes are introduced”
statement is insufficient; update the UI bullet for dual-stream support to
either (a) define the explicit customer-facing UI/UX validation scope (what will
be tested, acceptance criteria, and any screens/features impacted) or (b) attach
an explicit PM/UX decision/sign-off statement indicating that PM/UX reviewed and
determined UI testing is not required; apply the same change to the other
matching UI bullet later in the document (the duplicate UI note) so both places
contain either the test scope or the PM/UX sign-off.
- Around line 465-479: The Sign-off section in dual_stream_rhcos_support.md
contains empty reviewer/approver entries (multiple "Dev Members" and "Dev
Members (sig-...)" lines left blank) which must be completed or removed; update
the "Reviewers:" and "Approvers:" lists to either populate each listed role
(e.g., Dev Members (sig-iuo), Dev Members (sig-network), Dev Members
(sig-storage), Dev Members (sig-virt), Dev Members (sig-infra)) with concrete
GitHub handles or remove those empty role lines, and ensure the Approvers block
includes all required approvers for a multi-SIG parent STP (add missing
approvers such as SIG leads or Product Manager where appropriate) so the
Sign-off/Approval section has no placeholder or blank entries.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a154b7ec-76e9-4ee0-b22f-e2a20b86332c

📥 Commits

Reviewing files that changed from the base of the PR and between be74e25 and 1f071fd.

📒 Files selected for processing (1)
  • stps/sig-virt/dual_stream_rhcos_support.md

Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
Comment thread stps/sig-virt/dual_stream_rhcos_support.md Outdated
Comment thread stps/sig-virt/dual_stream_rhcos_support.md Outdated
Comment on lines +97 to +99
- Definition of "component readiness for 5.0" (severity gate / bug count threshold) is
pending sign-off with Engineering/PM — [Name/Date].

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

CRITICAL: Unresolved placeholders block approval readiness

[Name/Date] placeholders remain across acceptance gaps, limitations, out-of-scope agreements, test limitations, and risk sign-offs. Replace all with concrete names and dates.

As per coding guidelines, approved/submitted STPs must not contain empty placeholders and limitations/risks must include explicit sign-off entries.

Also applies to: 125-137, 222-227, 236-240, 381-417

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

In `@stps/sig-virt/dual_stream_rhcos_support.md` around lines 97 - 99, Replace all
placeholder tokens "[Name/Date]" in the document with concrete approver names
and explicit sign-off dates; specifically update the "Definition of \"component
readiness for 5.0\"" entry and every occurrence inside acceptance gaps,
limitations, out-of-scope agreements, test limitations, and risk sign-offs so
each limitation/risks line contains a named approver and date. Ensure entries in
those sections include full sign-off wording (approver name, role, and ISO-style
date) and remove any remaining empty placeholders so the STP meets the approval
requirements.

Comment thread stps/sig-virt/dual_stream_rhcos_support.md Outdated
Comment thread stps/sig-virt/dual_stream_rhcos_support.md Outdated
Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
Comment thread stps/sig-virt/dual_stream_rhcos_support.md Outdated
Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
@openshift-virtualization-qe-bot-2
Copy link
Copy Markdown

jerry7z can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@openshift-virtualization-qe-bot-2
Copy link
Copy Markdown

SiboWang1997 can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@openshift-virtualization-qe-bot-4
Copy link
Copy Markdown

SiboWang1997 can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@openshift-virtualization-qe-bot-4
Copy link
Copy Markdown

jerry7z can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@openshift-virtualization-qe-bot
Copy link
Copy Markdown

SiboWang1997 can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@openshift-virtualization-qe-bot
Copy link
Copy Markdown

jerry7z can not be added as reviewer. Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.: 422 {"message": "Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the RedHatQE/openshift-virtualization-tests-design-docs repository.", "documentation_url": "https://docs.github.com/rest/pulls/review-requests#request-reviewers-for-a-pull-request", "status": "422"}

@rnetser
Copy link
Copy Markdown
Contributor

rnetser commented Apr 23, 2026

@coderabbitai

review

Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
Copy link
Copy Markdown
Contributor

@rnetser rnetser left a comment

Choose a reason for hiding this comment

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

  • please fix coderabbit's commets.
  • please do not use engineering terms like "el9.8 userspace", "el10 kernel", "el9.8-based CNV builds"

i did not review the full stp as there are many items that require modifications.

please keep in mind that an stp is there to set up the contract between pm-dev-qe about testing.
must be high level, customer-oriented and must avoid any low level/implementation details. it should also not include any common worklfows etc
it must include clear decisions; this is not the placd to list options.

Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md Outdated
Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md Outdated
@openshift-virtualization-qe-bot-4
Copy link
Copy Markdown

Clean rebase detected — no code changes compared to previous head (2dcb33c).
The following labels were preserved: commented-rnetser, commented-coderabbitai[bot], changes-requested-rnetser, commented-akri3i.

Copy link
Copy Markdown

@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

♻️ Duplicate comments (8)
stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md (8)

148-371: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

CRITICAL: Required sign-off placeholders are still unresolved

*Sign-off:* [Name/Date] remains at Line 148, Line 194, Line 355, and Line 371; *PM/Lead Agreement:* [Name/Date] remains at Line 185. These are mandatory evidence fields and block approval.

As per coding guidelines, every claim in STPs requires evidence (names/dates), and no empty placeholders are allowed in approved STPs.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 148 -
371, The file contains unresolved mandatory placeholders "*Sign-off:*
[Name/Date]" and "*PM/Lead Agreement:* [Name/Date]" (seen in the virt.md content
and repeated at multiple locations); replace each placeholder with the actual
approver's name and date or, if sign-off is deferred, insert a clear "TBD:
[role]" with expected sign-off date and a tracking Jira/TODO reference; ensure
every instance (the three "*Sign-off:* [Name/Date]" occurrences and the
"*PM/Lead Agreement:* [Name/Date]" occurrence) is updated so no empty
placeholders remain before re-requesting STP approval.

7-10: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

HIGH: Metadata still lacks required governance evidence

Line 8 (Feature Tracking: N/A) and Line 10 (QE Owner(s): Akriti Gupta) are still incomplete for approval readiness. Add either a concrete tracking artifact or an explicit rationale with replacement evidence, and include owner contact handle/email.

As per coding guidelines, “Every claim in STPs needs evidence: sign-offs, Jira links, dates. No empty placeholders in approved STPs.”

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 7 -
10, The metadata is missing required governance evidence: update the "Feature
Tracking" field to either point to a concrete tracking artifact (e.g., a
Jira/Tracker link or ticket ID with date) or replace "N/A" with an explicit
rationale and replacement evidence; and update the "QE Owner(s)" field to
include a named owner plus their contact (email or handle) and any
sign-off/date. Specifically edit the "Feature Tracking" and "QE Owner(s)"
entries in virt.md to include a Jira link or ticket number (or clear
justification and alternate evidence) and the QE owner's contact information and
sign-off details so the STP contains no empty placeholders.

389-404: ⚠️ Potential issue | 🔴 Critical | 🏗️ Heavy lift

CRITICAL: Traceability is still incomplete for non-migration goals/criteria

Section III currently maps only the two live-migration scenarios. Acceptance criteria and goals around suite pass outcomes and readiness gating (Lines 71-74, 79-80, 158-163, 170-171) are not explicitly represented as traceable scenarios.

As per coding guidelines, every testing goal and acceptance criterion must map to Section III scenarios with requirement ID, tier, and priority.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 389 -
404, Section III currently only includes the two live-migration scenarios; add
explicit traceable scenarios for the remaining acceptance criteria (suite pass
outcomes and readiness gating) so every testing goal maps to a Section III
scenario with requirement ID, tier, and priority. Create new scenario entries
(e.g., "Suite pass outcome — readiness gating" and "Suite pass outcome — overall
suite pass") that reference the relevant requirement IDs, state the tier (Tier
1/2/3 as appropriate) and Priority (P1/P2), and verbatim include the acceptance
criteria text from the document (readiness gating, pass/fail thresholds) to
ensure traceability alongside the existing CNV-81251 migration entries in
virt.md Section III.

302-307: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

MEDIUM: Testing Tools section includes standard baseline tooling

Line 305 lists pytest and standard framework baseline. This section should capture only new/non-standard tools introduced by this STP; otherwise keep the default “Standard” form only.

As per coding guidelines, Section II.3.1 must list only new/non-standard tools; standard tools like pytest should not be enumerated there.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 302 -
307, Section "3.1. Testing Tools & Frameworks" currently enumerates standard
tooling (openshift-virtualization-tests, pytest); remove those explicit mentions
and revert the entry to the default "Standard" label only so the section lists
only new/non-standard tools introduced by this STP; if there are any truly new
tools add them instead, and keep the OCPSTRAT-1150 note about manual ad-hoc runs
unchanged.

69-80: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

CRITICAL: Acceptance criteria are not fully user-observable and still lack continuity proof

Line 79-80 is a QE process outcome (“triaged… tracked in Jira”), not a user-facing pass/fail criterion. Also, Lines 75-78 still don’t require a continuous connectivity/session check during migration, so “non-disruptive” is not provably validated.

As per coding guidelines, Section I.1 acceptance criteria must be observable user outcomes, and seamless/non-disruptive claims must include a condition that only passes if disruption never occurred.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 69 -
80, The acceptance criteria block contains a QE process outcome ("All
RHCOS10.2-related failures found... tracked in Jira") and lacks a provable,
user-observable continuity check for live migration; replace the Jira/process
item with an observable criterion and add a continuous connectivity requirement:
update the "Acceptance Criteria" checklist items (the VM migration items that
state "without the VM stopping or restarting") to require an explicit continuous
session/heartbeat verification (e.g., application-level ping/iperf/TCP socket or
a defined heartbeat that shows zero dropped packets/resets and no process
restart for the entire migration window) and state that the migration step only
passes if that continuous-check log/metric shows no disruption; remove or move
the Jira-tracking line out of acceptance criteria into a QE tasks/notes section.

389-404: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

CRITICAL: Section III scenario tier labels are invalid

Line 392 and Line 400 use [Tier 2 and Tier 3]. Section III allows only a single tier value per scenario row (Tier 1 or Tier 2), and regression-tier execution language should stay out of this table.

As per coding guidelines, STP Section III scenarios must use Tier 1 or Tier 2 only, and regression tests are not listed in the scenarios table.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 389 -
404, The scenario tier labels are invalid: replace the bracketed "[Tier 2 and
Tier 3]" tokens in the two CNV-81251 entries (refer to the lines containing
"Scenario 1" and "Scenario 2" under CNV-81251) with a single allowed tier (e.g.,
"[Tier 2]") and remove any regression/execution-tier language from those
scenario rows so Section III conforms to the requirement of a single Tier value
per scenario.

109-117: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

CRITICAL: [TBD] placeholders remain in test approach

Line 109 and Line 117 still contain unresolved [TBD], which blocks STP completion evidence. Replace with a concrete decision/state.

As per coding guidelines, STPs must remove template/placeholder text and remain concise/actionable with no unresolved placeholders.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 109 -
117, The document still contains unresolved “[TBD]” placeholders in the phrases
"Tier1, Tier 2, Tier 3 and ad-hoc testing[TBD]" and the later "ad-hoc
testing[TBD]"; replace each “[TBD]” with a concrete, actionable statement (e.g.,
specify the exact ad-hoc test scope, owner, acceptance criteria, or mark as “Not
applicable” if decided) so the STP is complete and concise; update the two
occurrences to either a precise test list or a short definitive status phrase
and remove any leftover template text so the section is actionable and free of
placeholders.

213-269: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

HIGH: Test strategy state is inconsistent with documented decisions

Line 213 (Automation Testing), Line 251 (Upgrade Testing), and Line 267 (Cloud Testing) are unchecked despite documented decisions/details. Also Line 238 marks Security Testing as N/A while this STP requires FIPS-enabled validation (Line 85, Line 268), which is inconsistent.

As per coding guidelines, checklist state must reflect completion/pending accurately, and NFR/security handling must be explicit and internally consistent.

🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md` around lines 213 -
269, Update the checklist so its checked/unchecked states match the documented
decisions: mark "Automation Testing" as completed (change the [ ] at the
"Automation Testing" header to [x]) since sig-virt chose Option 4; mark "Upgrade
Testing" as completed/explicitly out-of-scope (change the [ ] at the "Upgrade
Testing" header to [x] with the existing "Out of scope for this 4.22 STP"
detail) and mark "Cloud Testing" as completed (change the [ ] at the "Cloud
Testing" header to [x]) per the FIPS/cloud decision; change "Security Testing"
(the current "N/A" under Security Testing) to explicitly require FIPS validation
(remove "N/A" and add a line under "Security Testing" stating FIPS-enabled
validation is required for 4.22 Tech Preview) so the NFR/security handling is
consistent with the FIPS references in the STP.
🤖 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 `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md`:
- Around line 20-23: The file is declared as a Parent STP but is named virt.md;
rename and move it to the required multi-SIG parent location and filename
(stps/<owning-sig>/<feature-name>/stp.md) so the parent convention is followed,
update any internal references pointing to "virt.md" and ensure the document
text containing "This is a Parent STP." remains accurate; also verify and update
any child STP references to point to the new stp.md path and remove any
duplicated content from child STPs if present.

---

Duplicate comments:
In `@stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md`:
- Around line 148-371: The file contains unresolved mandatory placeholders
"*Sign-off:* [Name/Date]" and "*PM/Lead Agreement:* [Name/Date]" (seen in the
virt.md content and repeated at multiple locations); replace each placeholder
with the actual approver's name and date or, if sign-off is deferred, insert a
clear "TBD: [role]" with expected sign-off date and a tracking Jira/TODO
reference; ensure every instance (the three "*Sign-off:* [Name/Date]"
occurrences and the "*PM/Lead Agreement:* [Name/Date]" occurrence) is updated so
no empty placeholders remain before re-requesting STP approval.
- Around line 7-10: The metadata is missing required governance evidence: update
the "Feature Tracking" field to either point to a concrete tracking artifact
(e.g., a Jira/Tracker link or ticket ID with date) or replace "N/A" with an
explicit rationale and replacement evidence; and update the "QE Owner(s)" field
to include a named owner plus their contact (email or handle) and any
sign-off/date. Specifically edit the "Feature Tracking" and "QE Owner(s)"
entries in virt.md to include a Jira link or ticket number (or clear
justification and alternate evidence) and the QE owner's contact information and
sign-off details so the STP contains no empty placeholders.
- Around line 389-404: Section III currently only includes the two
live-migration scenarios; add explicit traceable scenarios for the remaining
acceptance criteria (suite pass outcomes and readiness gating) so every testing
goal maps to a Section III scenario with requirement ID, tier, and priority.
Create new scenario entries (e.g., "Suite pass outcome — readiness gating" and
"Suite pass outcome — overall suite pass") that reference the relevant
requirement IDs, state the tier (Tier 1/2/3 as appropriate) and Priority
(P1/P2), and verbatim include the acceptance criteria text from the document
(readiness gating, pass/fail thresholds) to ensure traceability alongside the
existing CNV-81251 migration entries in virt.md Section III.
- Around line 302-307: Section "3.1. Testing Tools & Frameworks" currently
enumerates standard tooling (openshift-virtualization-tests, pytest); remove
those explicit mentions and revert the entry to the default "Standard" label
only so the section lists only new/non-standard tools introduced by this STP; if
there are any truly new tools add them instead, and keep the OCPSTRAT-1150 note
about manual ad-hoc runs unchanged.
- Around line 69-80: The acceptance criteria block contains a QE process outcome
("All RHCOS10.2-related failures found... tracked in Jira") and lacks a
provable, user-observable continuity check for live migration; replace the
Jira/process item with an observable criterion and add a continuous connectivity
requirement: update the "Acceptance Criteria" checklist items (the VM migration
items that state "without the VM stopping or restarting") to require an explicit
continuous session/heartbeat verification (e.g., application-level
ping/iperf/TCP socket or a defined heartbeat that shows zero dropped
packets/resets and no process restart for the entire migration window) and state
that the migration step only passes if that continuous-check log/metric shows no
disruption; remove or move the Jira-tracking line out of acceptance criteria
into a QE tasks/notes section.
- Around line 389-404: The scenario tier labels are invalid: replace the
bracketed "[Tier 2 and Tier 3]" tokens in the two CNV-81251 entries (refer to
the lines containing "Scenario 1" and "Scenario 2" under CNV-81251) with a
single allowed tier (e.g., "[Tier 2]") and remove any regression/execution-tier
language from those scenario rows so Section III conforms to the requirement of
a single Tier value per scenario.
- Around line 109-117: The document still contains unresolved “[TBD]”
placeholders in the phrases "Tier1, Tier 2, Tier 3 and ad-hoc testing[TBD]" and
the later "ad-hoc testing[TBD]"; replace each “[TBD]” with a concrete,
actionable statement (e.g., specify the exact ad-hoc test scope, owner,
acceptance criteria, or mark as “Not applicable” if decided) so the STP is
complete and concise; update the two occurrences to either a precise test list
or a short definitive status phrase and remove any leftover template text so the
section is actionable and free of placeholders.
- Around line 213-269: Update the checklist so its checked/unchecked states
match the documented decisions: mark "Automation Testing" as completed (change
the [ ] at the "Automation Testing" header to [x]) since sig-virt chose Option
4; mark "Upgrade Testing" as completed/explicitly out-of-scope (change the [ ]
at the "Upgrade Testing" header to [x] with the existing "Out of scope for this
4.22 STP" detail) and mark "Cloud Testing" as completed (change the [ ] at the
"Cloud Testing" header to [x]) per the FIPS/cloud decision; change "Security
Testing" (the current "N/A" under Security Testing) to explicitly require FIPS
validation (remove "N/A" and add a line under "Security Testing" stating
FIPS-enabled validation is required for 4.22 Tech Preview) so the NFR/security
handling is consistent with the FIPS references in the STP.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c9ecaad7-6782-467e-9c4d-decbd8c64768

📥 Commits

Reviewing files that changed from the base of the PR and between f0fb92e and da1789f.

📒 Files selected for processing (1)
  • stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/virt.md

Comment thread stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md
Add sig-virt STP for dual-stream RHCOS 9.8 + RHCOS 10.2 worker node support.
Addresses PR review comments: user-facing Feature Overview, maturity plan,
acceptance criteria, NFRs, risks section, and cleanup.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment on lines +364 to +376
- **[CNV-81251](https://redhat.atlassian.net/browse/CNV-81251)** — As a VM operator, I want to live-migrate VMs between RHCOS9.8 and
RHCOS10.2 worker nodes within the same cluster so my workloads remain available during
node maintenance.
- *Test Scenario:* [Tier 2] **Scenario 1** — VM created on an RHCOS9.8 worker node is live-migrated
to an RHCOS10.2 worker node without disruption; then migrate back to RHCOS9.8 without disruption.
- *Priority:* P1

- **[CNV-81251](https://redhat.atlassian.net/browse/CNV-81251)** — As a VM operator, I want to live-migrate VMs between RHCOS9.8 and
RHCOS10.2 worker nodes within the same cluster so my workloads remain available during
node maintenance.
- *Test Scenario:* [Tier 2] **Scenario 2** — VM created on an RHCOS10.2 worker node is live-migrated
to an RHCOS9.8 worker node without disruption; then migrate back to RHCOS10.2 without disruption.
- *Priority:* P1
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.

for high level STP it can be merged into 1 scenario.

Comment on lines +385 to +389
- QE Members (sig-iuo): @hmeir @OhadRevah @rlobillo @albarker-rh
- QE Members (sig-network): @yossisegev @Anatw @EdDev @servolkov @azhivovk
- QE Members (sig-storage): @duyanyan @jpeimer @josemacassan @kgoldbla @dalia-frank @Ahmad-Hafe @kshvaika @ema-aka-young @acinko-rh
- QE Members (sig-virt): @dshchedr @vsibirsk @SamAlber
- QE Members (sig-infra): @geetikakay @RoniKishner
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.

@rnetser should we include every team member here?


- **Reviewers:**
- QE Members (sig-iuo): @hmeir @OhadRevah @rlobillo @albarker-rh
- QE Members (sig-network): @yossisegev @Anatw @EdDev @servolkov @azhivovk
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please keep here @azhivovk as the network T2 owner of this feature.
I'm not sure if we need SIG approvers in this list as well, that is up to @rnetser to decide.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants