[Storage]: STP for IOThread virtqueue mapping for virtio-scsi - #135
[Storage]: STP for IOThread virtqueue mapping for virtio-scsi#135josemacassan wants to merge 7 commits into
Conversation
|
Warning Review limit reached
Next review available in: 24 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughChangesVirtio-SCSI IOThread Virtqueue Mapping
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
/wip |
|
Report bugs in Issues Welcome! 🎉This pull request will be automatically processed with the following features: 🔄 Automatic Actions
📋 Available CommandsPR Status Management
Review & Approval
Testing & Validation
Cherry-pick Operations
Branch Management
Label Management
✅ Merge RequirementsThis PR will be automatically approved when the following conditions are met:
📊 Review ProcessApprovers and ReviewersApprovers:
Reviewers:
Available Labels
AI Features
Security Checks
💡 Tips
For more information, please refer to the project documentation or contact the maintainers. |
There was a problem hiding this comment.
Actionable comments posted: 9
🤖 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-storage/virtio-scsi-iothread-vq-mapping.md`:
- Line 7: Update the enhancement reference in the “Enhancement(s)” entry to use
VEP `#343`, matching the linked pull request and stated objective; leave the link
and surrounding text unchanged.
- Around line 95-97: Update the API Extensions section to remove the internal
SCSI controller domain XML extension; describe only user-facing API changes,
stating that no user-facing API extension exists while retaining the existing
IOThreadsPolicy reuse if applicable.
- Around line 37-72: The QE checklist entries with completed content should be
marked [x] instead of [ ]. In the NFR section, replace the Monitoring “TBD with
dev team” note with a resolved decision about metrics or alerts, and expand the
UI rationale to include explicit PM/UX justification for omitting UI testing.
- Around line 314-316: Reclassify the CNV-86526 test scenario from Tier 3 to
either Tier 1 for an isolated performance test or Tier 2 for an end-to-end
workflow, while preserving its existing scenario description and priority.
- Around line 74-87: Replace every approval-blocking placeholder in the
document, including [Name/Date] sign-offs and [TBD] review notes, with concrete
evidence, named approvals, meeting takeaways, PM/lead agreements, risk
approvals, and explicit OCP/OpenShift Virtualization version details. Update the
affected Known Limitations, Technology and Design Review, and other referenced
sections without leaving any placeholder text.
- Around line 152-184: Resolve every applicable checklist item in the testing
section: replace the Self-Validation TBD with an explicit decision, mark
Dependencies and Cross Integrations checked because they apply, and document
their required validation scope. Reassess Usability rather than excluding it
solely due to no UI; either mark it applicable with PM/UX justification or
explicitly document why it is not applicable. Also resolve the Monitoring TBD
with a clear decision and supporting details.
- Around line 110-122: Rewrite the “Testing Goals” list as end-user outcomes
focused on observable performance, continuity, configured policy behavior,
hotplug results, rollback safety, and migration preservation. Remove internal
implementation details such as thread counts, virtqueue caps, controller
mappings, and allocation mechanics from these goals; retain those details in the
test scenarios instead. Preserve coverage for each IOThreadsPolicy, mixed disk
types, feature-gate behavior, hotplugging, migration, rollback, and measurable
throughput.
- Around line 10-14: Update the feature maturity metadata in the STP overview by
replacing each [TBD] under DP, TP, and GA with the appropriate structured
version values, and explicitly identify the phase covered by this STP. Rewrite
the overview to focus on observable customer outcomes and value rather than
controller, virtqueue, and feature-gate implementation mechanics.
- Around line 91-93: Update the Feature Maturity and Test Environment sections
of virtio-scsi-iothread-vq-mapping.md to replace every OCP/OpenShift
Virtualization [TBD] with explicit supported release entries tied to the libvirt
11.2.0+ and QEMU 10.0+ prerequisites. Add a traceable downgrade test scenario
covering older versions and asserting either configuration rejection or fallback
to single-thread 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4dc552b2-41f9-4136-8616-7ed5b8708dc9
📒 Files selected for processing (1)
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
|
/wip |
b6be93d to
18076f4
Compare
|
Clean rebase detected — no code changes compared to previous head ( |
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (1)
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md (1)
100-102: 🗄️ Data Integrity & Integration | 🟠 MajorHIGH: Map the dependency to explicit supported releases.
The document names the minimum libvirt and QEMU versions but only refers to “the target OCP release.” Without explicit OCP and OpenShift Virtualization versions, testers cannot select a supported build or verify the rejection boundary.
Name the releases that ship libvirt 11.2.0+ and QEMU 10.0+, then verify the mapping against the platform release manifest.
As per coding guidelines, test environments must specify explicit OCP and OpenShift Virtualization versions.
🤖 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-storage/virtio-scsi-iothread-vq-mapping.md` around lines 100 - 102, Update the “Impact on testing approach” section to replace the vague “target OCP release” reference with explicit supported OCP and OpenShift Virtualization release versions that ship libvirt 11.2.0+ and QEMU 10.0+. Verify those version mappings against the platform release manifest, and retain the existing rejection behavior for older or mixed-version infrastructure.Source: Coding guidelines
🤖 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-storage/virtio-scsi-iothread-vq-mapping.md`:
- Around line 95-96: Complete the Developer Handoff/QE Kickoff section by
recording the participants, date, decisions, and sign-off before marking the STP
approved; otherwise retain the pending status and explicitly keep the STP in
draft. Ensure approval is supported by actual handoff evidence.
- Line 33: Update the overview sentence describing a disabled feature gate to
state that running VMs retain their current I/O-thread allocation until restart,
while new or restarted VMs use the existing single-thread behavior. Preserve the
descriptions of the three policies and feature-gate opt-in.
- Around line 63-65: Update the shared and supplementalPool policy descriptions
in the virtio-scsi mapping document to describe I/O-thread assignment at the
SCSI controller’s virtqueue level, removing references to threads assigned to
all or individual disks. Ensure the auto policy likewise states that
non-dedicated threads are assigned to controller virtqueues and the count is
capped by the number of virtqueues (vCPUs).
- Around line 121-126: Rewrite the P0 testing goals in the document as
priority-ordered, user-facing SMART outcomes focused on predictable
IOThreadsPolicy behavior, improved virtio-scsi I/O performance, feature-gate
compatibility, and correct mixed virtio-blk/virtio-scsi workloads. Remove
allocation, vCPU-scaling, pool-assignment, and virtqueue mechanics from these
goals, retaining those exact assertions in Section III traceability.
---
Duplicate comments:
In `@stps/sig-storage/virtio-scsi-iothread-vq-mapping.md`:
- Around line 100-102: Update the “Impact on testing approach” section to
replace the vague “target OCP release” reference with explicit supported OCP and
OpenShift Virtualization release versions that ship libvirt 11.2.0+ and QEMU
10.0+. Verify those version mappings against the platform release manifest, and
retain the existing rejection behavior for older or mixed-version
infrastructure.
🪄 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 Plus
Run ID: 70eb2624-ea20-4334-8991-b2498d97e3fa
📒 Files selected for processing (1)
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
2594374 to
3fefd9d
Compare
|
Clean rebase detected — no code changes compared to previous head ( |
STP for VEP #342 covering multi-IOThread support on the virtio-scsi controller via existing IOThreadsPolicy (shared, auto, supplementalPool). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
Mark completed QE checklist items, resolve Monitoring and Self-Validation TBDs, rewrite testing goals as end-user outcomes, remove internal implementation details from API Extensions, reclassify Tier 3 scenario to Tier 2, and add PM justification for omitted testing types. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
Clarify that the feature leverages the existing IOThreadsPolicy API rather than extending it. Update feature maturity to DP v1.10. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
- Expand Feature Overview to user-facing language with DP v1.10 phase - Fix IOThreadsPolicy semantics consistency across all sections - Define feature-gate disable lifecycle for running vs restarted VMs - Add non-disruptive acceptance criteria for hotplug and live migration - Add measurable performance pass/fail target (20% IOPS, 3 iterations) - Mark completed technology-review checklist items as [x] - Choose rejection behavior for unsupported libvirt/QEMU versions - Add traceability scenarios for upgrade, snapshot, and backup claims Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
- Clarify feature-gate lifecycle: running VMs unchanged until restart - Rewrite policy descriptions using virtqueue-level mapping language - Add Draft status and expand QE kickoff section with required fields - Rewrite P0 testing goals as user-facing outcomes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
|
Clean rebase detected — no code changes compared to previous head ( |
There was a problem hiding this comment.
Actionable comments posted: 6
♻️ Duplicate comments (2)
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md (2)
88-88: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick winHIGH: Replace approval placeholders before approval.
The document correctly remains Draft, but the final approved STP cannot retain
[Name/Date]placeholders. Add named sign-offs, dates, or Jira/meeting evidence for the limitation, scope, and risk entries before removing the Draft guard.Also applies to: 92-92, 141-141, 145-145, 150-150, 250-250, 257-257, 264-264, 281-281
🤖 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-storage/virtio-scsi-iothread-vq-mapping.md` at line 88, Replace every [Name/Date] sign-off placeholder in the STP with named approvers and dates, or documented Jira/meeting evidence, covering the limitation, scope, and risk entries. Keep the document marked Draft until all approvals are recorded, then remove the Draft guard only after no placeholders remain.Source: Coding guidelines
105-107: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winHIGH: Fill the supported release matrix.
Line 208 remains
[TBD], while Lines 105-107 and 240 require libvirt 11.2.0+ and QEMU 10.0+. Replace the placeholder with explicit OCP and OpenShift Virtualization releases that provide these versions. Record the source or Jira evidence for the mapping. The older-version rejection scenario is present, but the supported target release is still undefined.Also applies to: 208-208, 240-240
🤖 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-storage/virtio-scsi-iothread-vq-mapping.md` around lines 105 - 107, Replace the [TBD] supported release matrix entry in the virtio-scsi IOThread virtqueue mapping documentation with explicit OCP and OpenShift Virtualization releases that ship libvirt 11.2.0+ and QEMU 10.0+, and record the authoritative source or Jira evidence for each mapping. Keep the existing minimum-version requirements and older-version rejection behavior aligned with the documented matrix.
🤖 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-storage/virtio-scsi-iothread-vq-mapping.md`:
- Around line 124-135: Update the Testing Goals section to explicitly group or
label each goal as functional or regression, while preserving every existing
goal and the current P0, P1, and P2 priority ordering.
- Line 82: Update the UI-testing rationale in the documented locations to
include verifiable PM confirmation evidence, such as the approver’s name, date,
and Jira or meeting reference. If that evidence is unavailable, remove the PM
confirmation claim and retain only the technical explanation that the feature
has no UI or console integration.
- Line 26: Update the IOThreadsPolicy definition and all related API-testing and
shared-policy descriptions to describe IOThread assignment from SCSI controllers
to virtio-scsi virtqueues, matching the mapping defined near the existing
controller-to-virtqueue section. Retain per-disk assignment wording only in
virtio-blk-specific content, including the affected sections around the policy
table, testing impact, and shared-policy scenario.
- Around line 291-357: The scenario list must include a user-story requirement
summary for every CNV-86526 row, not only the first one. Add an “As a …”
requirement summary to each remaining Test Scenario entry while preserving its
scenario text, tier, and priority.
- Line 128: Align the priority of the virtio-scsi concurrent-workload throughput
goal across the entries at the diff and corresponding detailed scenario
sections: either change the top-level goal from P0 to P2, or promote the
matching detailed goal and scenario to P0. Ensure all references describe the
same priority.
- Line 47: Extend the scenarios covering the virtio-scsi IO-thread mapping
feature to validate the default cluster configuration, without explicitly
setting the feature gate. Confirm the gate is disabled by default and that
changing IOThreadsPolicy has no effect while it remains at that default. Keep
the existing explicitly-disabled scenario unchanged.
---
Duplicate comments:
In `@stps/sig-storage/virtio-scsi-iothread-vq-mapping.md`:
- Line 88: Replace every [Name/Date] sign-off placeholder in the STP with named
approvers and dates, or documented Jira/meeting evidence, covering the
limitation, scope, and risk entries. Keep the document marked Draft until all
approvals are recorded, then remove the Draft guard only after no placeholders
remain.
- Around line 105-107: Replace the [TBD] supported release matrix entry in the
virtio-scsi IOThread virtqueue mapping documentation with explicit OCP and
OpenShift Virtualization releases that ship libvirt 11.2.0+ and QEMU 10.0+, and
record the authoritative source or Jira evidence for each mapping. Keep the
existing minimum-version requirements and older-version rejection behavior
aligned with the documented matrix.
🪄 Autofix
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 Plus
Run ID: c07ea1d0-504c-4efc-a620-5d4b74fc1d9f
📒 Files selected for processing (1)
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
RedHatQE/openshift-virtualization-tests(manual)
📜 Review details
🧰 Additional context used
📓 Path-based instructions (3)
**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Adhere to markdown linting configuration defined in .markdownlint.yaml
Files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
stps/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
stps/**/*.md: Every claim in an approved STP must have evidence such as sign-offs, Jira links, or dates; placeholders must not remain.
Feature Limitations, Test Limitations, Out of Scope, and Risks must remain distinct categories and must not be mixed.
Every test scenario must map to a Jira requirement ID and include its tier and priority.
STPs must be concise and actionable, with no boilerplate, vague statements, or unremoved template content.
Metadata must include justified enhancement links, feature-level and epic Jira tracking, structured feature maturity, QE owners with contacts, correct SIG ownership, and feature-specific document conventions.
Feature Overview sections must contain 2–8 sentences, explain customer value from the user perspective, state the applicable feature phase, and avoid implementation details.
Claims in Feature Overview must have matching acceptance criteria and test scenarios, or be explicitly documented as out of scope with rationale and PM/Lead agreement.
Requirements must be specific and testable; customer use cases must use user-story format; acceptance criteria must be individual, observable pass/fail conditions.
Seamless or non-disruptive behavior must include an acceptance criterion and scenario that would fail if disruption occurred, rather than checking only the final state.
NFRs must explicitly address Monitoring, Observability, UI, Documentation, Performance, Security, and Scalability, with justification for uncovered categories.
Testing Goals must use end-user language, be SMART, identify P0/P1/P2 priority, distinguish functional from regression testing, and be ordered P0 first.
Each P0 functional Testing Goal must have at least one negative or failure-path goal and a matching Section III scenario, unless the omission is documented as out of scope with PM/Lead agreement.
Testing Goals must name all configuration dimensions needed to implement the test and must justify scenarios that validate behavior only after a feature rea...
Files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
stps/**
⚙️ CodeRabbit configuration file
stps/**: ## Test implementation cross-reference (STP → tests)Skip this check entirely for files under
stps/stp-template/— those are
templates, not feature STPs.When a feature STP file under
stps/is modified, determine whether the change
is meaningful (affects test implementation) or cosmetic (no test impact).Meaningful changes (flag for test update):
- Test scenarios added, removed, or modified in Section III (table rows changed)
- Testing goals added, removed, or reprioritized in Section II.1
- Requirements added, removed, or modified in Section I.1
- Acceptance criteria added, removed, or changed in Section I.1
- Tier or priority changes on existing scenarios
- Scope changes in Section II.1 (Out of Scope items added or removed)
- Test Limitations changes in Section II.1 that alter what QE can validate
- Test strategy changes in Section II.2 that affect what is tested
- Test environment changes in Section II.3 that affect how tests run
Cosmetic changes (skip cross-ref check):
- Typo fixes, grammar corrections, punctuation changes
- Formatting or whitespace adjustments
- Rewording that preserves the same test intent and pass/fail criteria
- Sign-off updates, reviewer list changes
- Metadata-only changes (dates, version bumps, document conventions)
- Risk section updates that do not change test scope
When meaningful changes are detected:
First, use the linked repository (
RedHatQE/openshift-virtualization-tests) to check
whether existing tests reference this STP viaSTP:orSTP Reference:URLs
in docstrings (both conventions are used in the tests repo).If no tests reference this STP (greenfield STP with no test coverage yet),
skip the cross-reference notice entirely. The tests repo enforces STP-to-test
alignment when tests land.If tests reference this STP, post a non-blocking MEDIUM severity advisory listing:
- Which sections changed meaningfully (scenarios, goals, criteria, scope)
- A summary of what changed (e...
Files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
🧠 Learnings (22)
📚 Learning: 2026-01-26T12:49:09.313Z
Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 15
File: stps/sig-network/ipv6-single-stack-stp.md:169-175
Timestamp: 2026-01-26T12:49:09.313Z
Learning: In documentation files under stps/, when documenting test scenarios in the 'Test Scenarios & Traceability' table, it's acceptable to reuse a single epic ID (e.g., CNV-28924) for all requirement rows that fall under that epic instead of creating unique sub-requirement IDs for each scenario. This applies only to this repository's documentation guidelines; confirm with project governance if this affects traceability or tooling used for test execution mapping.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-04-13T10:27:58.826Z
Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:187-187
Timestamp: 2026-04-13T10:27:58.826Z
Learning: When reviewing STP markdown docs in this repo (e.g., under `stps/`), do not flag the template default in Section II.3.1 “Testing Tools & Frameworks” where `- **Test Framework:** Standard` is used. This is intentional and indicates no new or non-standard tools are required. Only suggest changes if the feature introduces a new/modified test framework, a custom test harness, or significant test infrastructure changes beyond the standard baseline.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-08T14:46:58.959Z
Learnt from: kshvaika
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 86
File: stps/sig-storage/scratch_space_sc_selection_logic.md:406-423
Timestamp: 2026-05-08T14:46:58.959Z
Learning: In this repository’s STP documents (under `stps/`), in Section III (“Test Scenarios & Traceability”), it may be intentional for scenarios to be labeled `[Tier 2]` even when the scenario represents a single CDI operation (e.g., import, upload, clone) if the corresponding `[Tier 1]` tests already exist and are maintained/updated by the developer elsewhere. During review, do not treat `[Tier 2]` labels as incorrect unless you first confirm whether the matching Tier 1 coverage is already present externally.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-08T14:48:53.503Z
Learnt from: kshvaika
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 86
File: stps/sig-storage/scratch_space_sc_selection_logic.md:402-425
Timestamp: 2026-05-08T14:48:53.503Z
Learning: When reviewing STP design docs under stps/..., treat Section III test scenarios labeled "[Tier 2]" as potentially intentional even if they cover only a single CDI operation (e.g., import, upload, clone), as long as matching "[Tier 1]" tests exist and are maintained/updated outside the STP by the developer. Do not automatically flag "[Tier 2]" for single-operation scenarios until you confirm whether corresponding "[Tier 1]" coverage is already provided externally elsewhere in the repo/project.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-11T12:14:47.209Z
Learnt from: akri3i
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 92
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md:0-0
Timestamp: 2026-05-11T12:14:47.209Z
Learning: In this repository’s STP documentation files under `stps/`, acceptance criteria for “non-disruptive” behaviors (for example, live migration) should be written at a high level. Describe WHAT must be verified (e.g., “no disruption during migration”, “continuous connectivity validated”) but avoid prescribing HOW to measure it (e.g., specific ICMP ping intervals, TCP RST/FIN tracking, exact packet-loss thresholds). Low-level verification methodology belongs in the associated test cases or test scripts, not in the STP. Do not treat an STP acceptance criterion as insufficient solely because it does not include low-level verification mechanics.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-25T07:16:20.059Z
Learnt from: josemacassan
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 78
File: stps/sig-storage/storage_mig_cleanup.md:66-70
Timestamp: 2026-05-25T07:16:20.059Z
Learning: When reviewing STP design docs in this repo (e.g., under stps/), if a feature’s operation (such as post-migration cleanup) purely delegates to an existing controller and does not introduce any new scalability surface—specifically no new concurrency paths/worker model, no new rate-limiting behavior, no increased/decreased CRD cardinality, and no new CRD types or new API call patterns—then it is intentional to set the NFR field "Scalability" to "Not applicable - cleanup scales with existing [controller] capabilities." In that case, do not flag the NFR justification as being too generic. If the feature genuinely adds scalability impact, require a proper scalability assessment instead of using the Not applicable rationale.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-25T09:46:33.392Z
Learnt from: kshvaika
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 106
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/storage.md:64-71
Timestamp: 2026-05-25T09:46:33.392Z
Learning: In this repository’s STP docs under `stps/`, when reviewing a *child STP* (category/domain-scoped doc) such as `storage.md`, `network.md`, etc. that lives in a feature directory alongside a parent `stp.md`, do not require the full per-category NFR justification (Monitoring, Observability, UI, Documentation, Performance, Security, Scalability with PM/UX backing and explicit scalability constraints). For child STPs, it’s sufficient to confirm that **no new NFRs are introduced in this scope** and include brief per-category bullets; the complete NFR treatment for the feature is owned by the parent `stp.md`.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-25T09:54:44.096Z
Learnt from: kshvaika
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 106
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/storage.md:139-142
Timestamp: 2026-05-25T09:54:44.096Z
Learning: In STP documents under `stps/`, for Section II.1 “Test Limitations” and similarly named placeholder/known-limitation sections (e.g., “Known Limitations” / “None”), do not require a sign-off line of the form `*Sign-off:* [Name/Date]` when the section is only a bare “None” statement. Require an explicit sign-off only when actual limitations/test constraints are listed that need reviewer acknowledgment; if limitations are present but the sign-off is missing, it should be flagged.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-25T09:57:32.773Z
Learnt from: kshvaika
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 106
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/storage.md:153-190
Timestamp: 2026-05-25T09:57:32.773Z
Learning: When reviewing STP documents under `stps/`, follow the Test Strategy checklist convention in Section II.2: use `[x]` only when the checklist item is applicable and has been addressed, and use `[ ]` when the item is NOT applicable. For `[ ]` items, require a clear justification in the corresponding `Details:` field. Do not treat `[ ]` as an incorrect omission solely because the `Details:` field contains text—such text is the required non-applicability explanation, not evidence that the item was completed.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-27T18:26:25.780Z
Learnt from: RoniKishner
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:64-69
Timestamp: 2026-05-27T18:26:25.780Z
Learning: When reviewing STP documents in the `stps/` directory, do not require NFR categories like Monitoring, Performance, and Scalability to be re-enumerated in the Section I.1 “Non-Functional Requirements (NFRs)” block if they are already explicitly addressed (with justification) elsewhere in the same STP—specifically in a dedicated “Out of Scope” section. In this case, treating duplication as redundant is acceptable. Also, Observability may be treated as a subset of Monitoring rather than a separate NFR category. Do not flag the I.1 NFR block as incomplete solely because these categories are missing from it when they are covered elsewhere in the document.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-05-27T18:36:25.091Z
Learnt from: RoniKishner
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:10-13
Timestamp: 2026-05-27T18:36:25.091Z
Learning: In STP design documents located under `stps/`, Feature Maturity block entries are allowed to include optional trailing descriptive text after the version label. For example, lines like `DP: 4.21 - Deployed by manual installation` are valid. Consider the structured format satisfied as long as each bullet starts with the correct phase label and version value (e.g., `DP: [version|N/A]`, `TP: [version|N/A]`, `GA: [version]`). Do not flag a violation solely because there is additional descriptive text after the version number.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-06-02T10:06:00.601Z
Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:133-168
Timestamp: 2026-06-02T10:06:00.601Z
Learning: When reviewing any STP document under `stps/`, check Section II.2 (“Test Strategy”). It must explicitly enumerate every testing type required by the STP template. No testing type may be omitted: if a testing type is not applicable, it still must be listed and accompanied by a clear justification/rationale. Do not treat Section II.2 as complete if any required testing types are missing—missing entries indicate the template’s testing types were not documented as considered (a review violation).
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-07-07T08:33:28.371Z
Learnt from: OhadRevah
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 108
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/iuo.md:40-40
Timestamp: 2026-07-07T08:33:28.371Z
Learning: In STP documentation under the stps/ directory, do not flag the term “must-gather” as an internal implementation detail. “must-gather” is an official, customer/support-facing OpenShift tool name (from `oc adm must-gather`). Use the official name to improve precision/traceability for QE and support; this is consistent with STP guidance to describe user experience rather than internal mechanisms.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-07-16T00:58:10.501Z
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:142-143
Timestamp: 2026-07-16T00:58:10.501Z
Learning: Until the STP review process changes (moving PM-review-scoped items into a PR template with checkboxes) are finalized and documented, continue requiring inline PM/UX justification inside STP documents. In particular, if you mark items as out of scope or skip Usability Testing (and similar PM/UX-scoped exceptions), include the required inline justification in the STP text rather than relying on the PR template/checkbox mechanism.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-07-16T01:22:56.191Z
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:5-18
Timestamp: 2026-07-16T01:22:56.191Z
Learning: For STP design docs in the `stps/` directory, ensure the Feature Maturity/phase metadata follows the required DP/TP/GA structured block (e.g., `DP: <version or N/A>`, `TP: <version or N/A>`, `GA: <version>`). Do not rely on an Epic Tracking Jira link title that merely includes a phase label (e.g., `GA: Implement ...`) as a substitute. Also ensure the Feature Overview explicitly states which phase the STP covers.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-07-16T01:23:24.642Z
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:101-113
Timestamp: 2026-07-16T01:23:24.642Z
Learning: For STP documentation under stps/ (e.g., *.md files), keep Section II.1 “Testing Goals” as high-level, priority-ordered “what we’re trying to achieve” statements (e.g., P0/P1/P2). Do not require Section II.1 to enumerate every configuration dimension (such as VMI state, probe configuration, annotation values, guest-agent state, migration topology, or detailed observable/expected outcomes). Instead, verify that all such detailed dimensions are covered via traceability in Section III (“Test Scenarios & Traceability”), where each scenario maps to the corresponding Jira Requirement ID, Tier, and Priority.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-07-20T13:19:16.186Z
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:269-274
Timestamp: 2026-07-20T13:19:16.186Z
Learning: When reviewing STP design documentation under stps/ (e.g., STP markdown files), note that any traceability additions flagged during the review may be generated by the STP writer after the STP review. Do not require those post-review traceability edits to be present at review time, but you must verify that the final generated STP submitted for approval still includes the required Section III test scenarios.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-07-29T22:30:28.619Z
Learnt from: SamAlber
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 138
File: stps/sig-virt/pci-topology-stability.md:7-10
Timestamp: 2026-07-29T22:30:28.619Z
Learning: When authoring an STP doc under the `stps/` directory that is explicitly regression-only (i.e., the plan does not introduce or cover any new feature), do not include/claim feature maturity details or epic tracking. Instead, use the corresponding regression-test Jira issue(s) (e.g., `CNV-81270`) as the primary traceability reference for the plan.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-08-02T17:42:04.538Z
Learnt from: SamAlber
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 138
File: stps/sig-virt/pci-topology-stability.md:154-158
Timestamp: 2026-08-02T17:42:04.538Z
Learning: In STP documents under stps/**/*.md, Section II.3.1 should document only new or non-standard tooling and special CI/CD jobs or lanes. If a test runs in an existing standard Tier 2 CI lane or the standard upgrade CI lane, treat `CI/CD: N/A` as correct; do not require those standard lanes to be listed merely because the STP identifies where automated tests run.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-08-04T10:39:51.886Z
Learnt from: akri3i
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 142
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/stp.md:82-82
Timestamp: 2026-08-04T10:39:51.886Z
Learning: In STP NFR sections, a UI testing category may be marked N/A without separate PM agreement only when the document explicitly states that the feature introduces no UI changes and that UI testing would provide no customer value. Treat these statements as the required justification for the non-applicable NFR category.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-04-16T07:37:13.200Z
Learnt from: josemacassan
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 76
File: stps/sig-storage/storage_mig_offline.md:295-295
Timestamp: 2026-04-16T07:37:13.200Z
Learning: In STP design docs, the platform label "PSI" refers to Red Hat’s internal Provider/Project Server Infrastructure (an OpenStack-based virtualized cloud). If a doc uses "PSI" as the "Platform" value, reviewers should verify the "Cluster Topology" field is consistent with a VM-based environment. In particular, "bare-metal" topology is usually incorrect for PSI unless the document explicitly confirms bare-metal usage.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
📚 Learning: 2026-06-08T14:06:59.507Z
Learnt from: RoniKishner
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:187-187
Timestamp: 2026-06-08T14:06:59.507Z
Learning: In STP documents under stps/sig-*/ (including stps/sig-infra/), when a feature has no platform-specific behavior and applies equally to all CI platforms, document the Section II.3 "Platform" field as "Platform-agnostic — no platform-specific behavior; applicable to all CI platforms." or "N/A" instead of enumerating a fixed platform list. Do not require an explicit platform list in this scenario to avoid maintenance overhead when new CI platforms are added.
Applied to files:
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
🪛 LanguageTool
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md
[style] ~55-~55: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... operations - As a cluster admin, I want to use the supplementalPool policy with ho...
(REP_WANT_TO_VB)
[grammar] ~55-~55: Ensure spelling is correct
Context: ...- As a cluster admin, I want to use the supplementalPool policy with hotplug-heavy workloads so ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~91-~91: Ensure spelling is correct
Context: ...rs needing heavy hotplug should use the supplementalPool policy instead. - Sign-off: [Name/D...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔀 Multi-repo context RedHatQE/openshift-virtualization-tests
Linked repositories findings
RedHatQE/openshift-virtualization-tests
- Existing IOThread coverage is in
tests/virt/node/high_performance_vm/test_iothreads_policy.py:44-82, testingioThreadsPolicy,dedicatedIOThread, and CPU placement.[::RedHatQE/openshift-virtualization-tests::] tests/virt/node/high_performance_vm/test_high_performance_templates.py:42-133validatesioThreadsPolicyandiothreadpinin VM domain XML. These are the closest existing tests to the proposed STP and may be candidates for linking or extending when implementation tests are added.[::RedHatQE/openshift-virtualization-tests::]- VM construction supports
iothreads_policyanddedicated_iothreadthroughutilities/virt.py:265-266, 343-344, 589-591, but no existing code references virtio-scsi, virtqueue mapping, or VEP#343.[::RedHatQE/openshift-virtualization-tests::] - The repository currently contains no tracked file at
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md; therefore, the STP content itself could not be cross-checked against repository-local consumers or a matching test plan.
🔇 Additional comments (9)
stps/sig-storage/virtio-scsi-iothread-vq-mapping.md (9)
1-18: LGTM!
20-25: LGTM!
74-81: LGTM!
154-175: LGTM!
187-198: LGTM!
226-232: LGTM!
234-241: LGTM!
361-372: LGTM!
216-220: 🗄️ Data Integrity & IntegrationNo change needed.
ocs-storagecluster-ceph-rbd-virtualizationis provided automatically when OpenShift Data Foundation is installed with OpenShift Virtualization, so leavingRequired Operators: N/Acan be valid if that storage-provider dependency is documented in the environment setup.> Likely an incorrect or invalid review comment.
…ges and review feedback Incorporate VEP changes that expand the auto IOThreadsPolicy to allocate thread pools to virtio-blk disks, align virtio-scsi descriptions to controller-virtqueue-level mapping, add default-disabled feature gate scenario, group testing goals by functional/regression, align performance priority to P2, add user-story summaries to all test scenarios, and remove unverifiable PM confirmation claims. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
|
/lgtm |
STP Metadata
VEP issue: (kubevirt/enhancements#343)
What this PR does
Add STP for virtio-iscsi IOThread
Special notes for your reviewer
Assisted by Claude Code
Summary by CodeRabbit