Skip to content

Storage: Add STP for offline storage migration#76

Open
josemacassan wants to merge 13 commits intoRedHatQE:mainfrom
josemacassan:stp-offline-migration
Open

Storage: Add STP for offline storage migration#76
josemacassan wants to merge 13 commits intoRedHatQE:mainfrom
josemacassan:stp-offline-migration

Conversation

@josemacassan
Copy link
Copy Markdown

@josemacassan josemacassan commented Apr 15, 2026

STP Metadata

VEP issue:

What this PR does

Adds Testing Plan for covering offline/online mixed storage migration.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive Offline Storage Migration test plan detailing scope (offline/stopped and mixed offline/online migrations), prioritized test goals (P0/P1/P2), in-scope functional/regression/automation and out-of-scope performance/scale/security, QE review checklists (requirements, acceptance criteria, NFR notes, known limitations), environment/topology assumptions, entry/exit criteria, risk mitigations, scenario traceability, and designated reviewers/approvers.

Signed-off-by: Yan Du <yadu@redhat.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 15, 2026

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

Adds a new OpenShift Virtualization Offline Storage Migration Software Test Plan defining feature metadata, QE review artifacts and checklists, prioritized P0/P1/P2 testing goals for stopped-VM migration (including ODF↔HPP, mixed offline/online, hotplug, retentionPolicy behaviors), in-scope/out-of-scope boundaries, environment baseline, entry/exit criteria, traceability (CNV-73500), and approvers. (48 words)

Changes

Cohort / File(s) Summary
Offline Storage Migration STP
stps/sig-storage/storage_mig_offline.md
Adds a new Software Test Plan documenting feature metadata and tracking, QE review requirements and checklists (requirements, acceptance criteria, limitations, design/testability items), prioritized testing goals (P0/P1/P2) for offline VM storage migration, explicit in-scope/out-of-scope decisions, baseline environment/topology, entry/exit criteria, Tier 2 scenarios traceable to CNV-73500, risk/sign-off placeholders, and reviewer/approver list.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 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 accurately and concisely summarizes the main change: adding a System Test Plan (STP) document for offline storage migration, which is the core addition in this changeset.
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-5
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:

  • jpeimer

Reviewers:

  • Ahmad-Hafe
  • acinko-rh
  • dalia-frank
  • duyanyan
  • ema-aka-young
  • josemacassan
  • jpeimer
  • kgoldbla
  • kshvaika
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.

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

🤖 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-storage/storage_mig_offline.md`:
- Line 85: Update the "Known Limitations" entry in storage_mig_offline.md so the
"No Limitations" statement includes an explicit reviewer sign-off; replace the
current "None" text with the mandated format "None — reviewed and confirmed with
[Name/Date]" and add the reviewer name and date inline (e.g., under the section
header "STP Section I.2 Known Limitations" or the existing "No Limitations"
line) to satisfy the sign-off requirement.
- Line 397: Fix the spelling mistake in the test scenario sentence: change
"sucessfully" to "successfully" in the line containing "*Test Scenario:* [Tier
2] Verify storage migration completes for offline VMs between ODF and HPP, and
the VM boots sucessfully after migration" so the sentence reads "...and the VM
boots successfully after migration".
- Around line 62-65: Update the "Non-Functional Requirements (NFRs)" section in
storage_mig_offline.md to explicitly list and evaluate each required NFR
category (Monitoring, Observability, UI, Documentation, Performance, Security,
Scalability) by name; for each category add a short target/status (e.g.,
"Covered", "Not applicable", or specific metric/requirement) and a one-sentence
justification if it is not covered or deferred (for example "Performance and
scale testing deferred—see test-plan X for schedule"). Make sure the heading
"Non-Functional Requirements (NFRs)" and the existing Documentation/Performance
notes remain, but expand them into explicit bullets for Monitoring,
Observability, UI, Documentation, Performance, Security, and Scalability so
every category is addressed.
- Line 10: The QE Owner(s) metadata line currently lists only "Yan Du" and must
include contact info; update the "QE Owner(s): Yan Du" entry in
storage_mig_offline.md to include a reachable contact (e.g., GitHub handle or
email) next to the name (for example "Yan Du <yan.du@example.com>" or "Yan Du
(`@githubHandle`)") so the QE Owner field meets the STP Metadata requirement for
name plus contact information.
- Around line 331-376: The "6. Risks" section currently marks every category as
"N/A" without stakeholder sign-offs; update the Risks section so each of the
seven categories (Timeline/Schedule, Test Coverage, Test Environment, Untestable
Aspects, Resource Constraints, Dependencies, Other) includes a concrete
mitigation (not just "N/A") and a sign-off line with stakeholder name/title and
date—e.g., add under each category a "Sign-off: <Name>, <Role>, <YYYY-MM-DD>"
and replace vague mitigations with specific, actionable statements tied to the
category; edit the "6. Risks" header block in storage_mig_offline.md to include
these additions for all seven categories.
- Line 43: Rewrite the existing customer use case bullet ("List the customer use
cases identified: Storage migration for mixed offline VMs and running VMs in one
migration plan, allowing batch migration operations regardless of VM state.")
into one or more user stories using the format "As a [role], I want to [action],
so that [benefit]"; update the entry in storage_mig_offline.md to replace the
single descriptive sentence with clear user story lines (e.g., one story for
administrators who need to migrate mixed VM states and another for operators who
need batch migration capability), ensuring each story names the role, the
desired action, and the benefit.
- Around line 169-174: The "Testing goals" list is not ordered by priority;
reorder the bullet lines in the "Testing goals" section so all items tagged
"[P0]" appear first (e.g., the two lines with "[P0] Verify offline VM storage
migration completes..." and "[P0] Verify storage migration completes for a
migration plan..."), followed by the "[P1]" line ("[P1] Verify offline VM
storage migration completes when the VM has hotplug disks attached"), and
finally the "[P2]" lines ("[P2] Verify offline VM continues pointing..." and
"[P2] Verify storage migration completes when a stopped VM is started..."),
preserving the exact text of each goal and their priority tags so the section
meets the STP II.1 ordering requirement.
🪄 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: 0f94ab26-4bfd-4e7f-aba7-69e8dbfb0286

📥 Commits

Reviewing files that changed from the base of the PR and between 424a4f9 and 32d9da1.

📒 Files selected for processing (1)
  • stps/sig-storage/storage_mig_offline.md

Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
josemacassan and others added 2 commits April 16, 2026 09:16
Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
@openshift-virtualization-qe-bot-3
Copy link
Copy Markdown

duyanyan 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"}

1 similar comment
@openshift-virtualization-qe-bot-5
Copy link
Copy Markdown

duyanyan 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: 4

♻️ Duplicate comments (4)
stps/sig-storage/storage_mig_offline.md (4)

331-376: ⚠️ Potential issue | 🔴 Critical

CRITICAL: Risks section still lacks required sign-offs (and uses non-actionable N/A mitigations).

Each risk category needs explicit sign-off and concrete mitigation text, even when risk is N/A. This is a merge blocker for traceability/accountability.

As per coding guidelines: "STP Section II.5 Risks: Each risk must have Risk description, Mitigation strategy, and Sign-off — mitigations must be specific and actionable (not vague)."

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

In `@stps/sig-storage/storage_mig_offline.md` around lines 331 - 376, The "####
**6. Risks**" section currently uses non-actionable "N/A" mitigations and lacks
required sign-offs; update each risk category (Timeline/Schedule, Test Coverage,
Test Environment, Untestable Aspects, Resource Constraints, Dependencies, Other)
to include a concrete, actionable mitigation statement and an explicit Sign-off
line (name, role, date) — for example replace "N/A" with a short mitigation plan
(e.g., fallback plan, verification steps, contingency owner) and append
"Sign-off: <Name> (<Role>) — <Date>" for each category so every entry has Risk
description, Mitigation strategy, and Sign-off as required.

43-43: ⚠️ Potential issue | 🟠 Major

HIGH: Rewrite customer use case as user story format.

Line 43 is still descriptive prose, not a user story. Convert it to As a [role], I want..., so that....

As per coding guidelines: "STP Section I.1 Requirements: Customer use cases must be in user story format ('As a [role], I want to [action]')."

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

In `@stps/sig-storage/storage_mig_offline.md` at line 43, Replace the descriptive
bullet "*List the customer use cases identified:* Storage migration for mixed
offline VMs and running VMs in one migration plan, allowing batch migration
operations regardless of VM state." with a user story in the required format;
e.g., convert it to "As a [role], I want to migrate both offline and running VMs
in a single batch migration plan, so that I can perform storage migrations
across mixed VM states without creating separate plans." Ensure the new line
uses the exact "As a [role], I want..., so that..." structure.

62-66: ⚠️ Potential issue | 🟠 Major

HIGH: NFR section is still not explicit per required categories with justification.

Line 65 lists uncovered NFRs in one sentence without per-category status/justification. Please explicitly address Monitoring, Observability, UI, Documentation, Performance, Security, and Scalability one by one.

As per coding guidelines: "STP Section I.1 Requirements: NFRs must explicitly address Monitoring, Observability, UI, Documentation, Performance, Security, and Scalability — uncovered NFRs must have justification."

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

In `@stps/sig-storage/storage_mig_offline.md` around lines 62 - 66, Update the
"Non-Functional Requirements (NFRs)" section to list each required category
(Monitoring, Observability, UI, Documentation, Performance, Security,
Scalability) as separate bullets with explicit status (Covered / Not Covered)
and a brief justification for that status; for any "Not Covered" entry provide a
short rationale and planned mitigation or timeline (e.g., "Performance: Not
covered — load testing deferred to integration phase due to environment
constraints; mitigation: schedule perf tests in sprint X"), and for covered
items state what artifacts exist (e.g., "Documentation: Covered — updated
storage_mig_offline.md and user guide; UI: Covered — offline migration modal
added in UI vY"). Ensure the revised text replaces the current combined sentence
under the "Non-Functional Requirements (NFRs)" heading so each category is
explicit and justified.

397-397: ⚠️ Potential issue | 🟡 Minor

LOW: Fix spelling typo in test scenario text.

Line 397: sucessfullysuccessfully.

✏️ Proposed fix
-  - *Test Scenario:* [Tier 2] Verify storage migration completes for offline VMs between ODF and HPP, and the VM boots sucessfully after migration
+  - *Test Scenario:* [Tier 2] Verify storage migration completes for offline VMs between ODF and HPP, and the VM boots successfully after migration
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@stps/sig-storage/storage_mig_offline.md` at line 397, Fix the spelling typo
in the test scenario text by replacing "sucessfully" with "successfully" in the
Test Scenario string that reads "*Test Scenario:* [Tier 2] Verify storage
migration completes for offline VMs between ODF and HPP, and the VM boots
sucessfully after migration" so the sentence reads "...and the VM boots
successfully after migration".
🤖 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-storage/storage_mig_offline.md`:
- Line 179: The bold markdown on the storage class coverage bullet is unclosed:
update the text "ODF (ocs-storagecluster-ceph-rbd-virtualization) ↔ HPP
(hostpath-provisioner)" to wrap with matching bold markers (add the missing
closing **) so the line becomes properly balanced; verify the same pattern isn't
used elsewhere in storage_mig_offline.md and run the repo's markdownlint rules
to confirm the .markdownlint.yaml constraints are satisfied.
- Line 295: The STP Test Environment entry currently uses the generic token
"PSI" which is not allowed; update the STP Section II.3 "Test Environment" in
storage_mig_offline.md by replacing "PSI" with a concrete platform (e.g., "Bare
metal", "AWS", "GCP", etc.) and explicitly specify the storage class used (e.g.,
"block storage: gp3", "CSI: rook-ceph-block", or the exact storage class name).
Ensure the updated line replaces the literal "PSI" token and includes both the
concrete platform and the exact storage class string so it meets the template
requirements.
- Around line 30-33: The markdown contains leftover template HTML comments and
example checklist scaffolding (e.g., the "<!-- **How to complete this
checklist:** ... -->" block, placeholder checklist items and tokens like [Add
details], [Name/Date], [TBD]) that must be removed before merge; edit
storage_mig_offline.md to delete all template instructional comments and example
boilerplate from the checklist and any other sections, replace placeholders with
finalized STP content or concrete explanations, and ensure only the final
procedural text and real checklist entries remain (look for the checklist block
and any "[...]" placeholders to locate the content to remove/replace).
- Around line 236-241: Update the "Usability Testing" checklist entry so it
either (A) clearly describes QE's responsibilities and acceptance criteria (what
QE will validate, e.g., accessibility checks, CLI output tests, backend
operation reporting and expected status/events) by editing the "Usability
Testing" bullet under "Test Strategy" (the checked "[x] **Usability Testing**"
item), or (B) uncheck the item and add an explicit ownership note naming the UI
team as owner with the Jira reference (e.g., "UI team owns usability testing —
CNV-77503") so it conforms to the STP guideline that a checked Usability item
must list QE validation scope or be unchecked with ownership stated.

---

Duplicate comments:
In `@stps/sig-storage/storage_mig_offline.md`:
- Around line 331-376: The "#### **6. Risks**" section currently uses
non-actionable "N/A" mitigations and lacks required sign-offs; update each risk
category (Timeline/Schedule, Test Coverage, Test Environment, Untestable
Aspects, Resource Constraints, Dependencies, Other) to include a concrete,
actionable mitigation statement and an explicit Sign-off line (name, role, date)
— for example replace "N/A" with a short mitigation plan (e.g., fallback plan,
verification steps, contingency owner) and append "Sign-off: <Name> (<Role>) —
<Date>" for each category so every entry has Risk description, Mitigation
strategy, and Sign-off as required.
- Line 43: Replace the descriptive bullet "*List the customer use cases
identified:* Storage migration for mixed offline VMs and running VMs in one
migration plan, allowing batch migration operations regardless of VM state."
with a user story in the required format; e.g., convert it to "As a [role], I
want to migrate both offline and running VMs in a single batch migration plan,
so that I can perform storage migrations across mixed VM states without creating
separate plans." Ensure the new line uses the exact "As a [role], I want..., so
that..." structure.
- Around line 62-66: Update the "Non-Functional Requirements (NFRs)" section to
list each required category (Monitoring, Observability, UI, Documentation,
Performance, Security, Scalability) as separate bullets with explicit status
(Covered / Not Covered) and a brief justification for that status; for any "Not
Covered" entry provide a short rationale and planned mitigation or timeline
(e.g., "Performance: Not covered — load testing deferred to integration phase
due to environment constraints; mitigation: schedule perf tests in sprint X"),
and for covered items state what artifacts exist (e.g., "Documentation: Covered
— updated storage_mig_offline.md and user guide; UI: Covered — offline migration
modal added in UI vY"). Ensure the revised text replaces the current combined
sentence under the "Non-Functional Requirements (NFRs)" heading so each category
is explicit and justified.
- Line 397: Fix the spelling typo in the test scenario text by replacing
"sucessfully" with "successfully" in the Test Scenario string that reads "*Test
Scenario:* [Tier 2] Verify storage migration completes for offline VMs between
ODF and HPP, and the VM boots sucessfully after migration" so the sentence reads
"...and the VM boots successfully after migration".
🪄 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: 0f57be4f-bbd0-4e2e-967e-887a0f78cf13

📥 Commits

Reviewing files that changed from the base of the PR and between 32d9da1 and c5a8254.

📒 Files selected for processing (1)
  • stps/sig-storage/storage_mig_offline.md

Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
@openshift-virtualization-qe-bot-2
Copy link
Copy Markdown

duyanyan 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: 2

♻️ Duplicate comments (1)
stps/sig-storage/storage_mig_offline.md (1)

142-144: ⚠️ Potential issue | 🔴 Critical

CRITICAL: Out-of-Scope entry still has placeholder sign-off and non-compliant format.

This blocks approval. Replace [Name], [Date] with actual PM/Lead evidence and format each item as - **Item** / *Rationale:* / *PM/Lead Agreement:*.

✏️ Suggested edit
-- **Storage Classes:** Cloud provider-specific storage classes (AWS EBS, Azure Disk, GCP PD) are out of scope for initial release
-
-> **PM Sign-off:** [Name], [Date]
+- **Storage Classes** / *Rationale:* Cloud provider-specific storage classes (AWS EBS, Azure Disk, GCP PD) are excluded for the initial release scope / *PM/Lead Agreement:* [Actual PM Name], [YYYY-MM-DD]

As per coding guidelines: "STP Out of Scope items must follow format: - **Item** / *Rationale:* / *PM/Lead Agreement:* with actual name and date, not placeholders" and "Every claim in an STP must have evidence — sign-offs, Jira links, dates. No empty placeholders in approved STPs".

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

In `@stps/sig-storage/storage_mig_offline.md` around lines 142 - 144, The
Out-of-Scope entry currently contains a placeholder sign-off; replace the single
line "- **Storage Classes:** Cloud provider-specific storage classes (AWS EBS,
Azure Disk, GCP PD) are out of scope for initial release" and the PM Sign-off
placeholder "[Name], [Date]" with a properly formatted bullet per guidelines: "-
**Storage Classes:** Cloud provider-specific storage classes (AWS EBS, Azure
Disk, GCP PD) / *Rationale:* <short reason> / *PM/Lead Agreement:* <PM Full
Name>, <YYYY-MM-DD>", ensuring the PM/Lead Agreement contains an actual name and
date (no placeholders) and add any supporting evidence (Jira ticket or approval
reference) in the rationale or agreement field.
🤖 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-storage/storage_mig_offline.md`:
- Around line 185-187: Update the "Upgrade Testing" checklist entry (the "- [ ]
**Upgrade Testing** — Validates upgrade paths..." item) to explicitly state that
the upgrade path was evaluated and explain why dedicated upgrade testing is not
needed; include a brief summary of the evaluation steps taken (e.g., reviewed
previous version schemas, verified migration scripts, checked configuration
compatibility) and a concluding sentence asserting the rationale for marking it
N/A so the STP explicitly records that the upgrade-path evaluation occurred.
- Around line 13-15: The "Feature Maturity" section is missing the Dev Preview
entry; update the Feature Maturity block (the lines under the "Feature
Maturity:" heading) to include the full structured format with DP: N/A, TP:
v4.22, and GA: v5.0 so it reads "DP: N/A", "TP: v4.22", "GA: v5.0".

---

Duplicate comments:
In `@stps/sig-storage/storage_mig_offline.md`:
- Around line 142-144: The Out-of-Scope entry currently contains a placeholder
sign-off; replace the single line "- **Storage Classes:** Cloud
provider-specific storage classes (AWS EBS, Azure Disk, GCP PD) are out of scope
for initial release" and the PM Sign-off placeholder "[Name], [Date]" with a
properly formatted bullet per guidelines: "- **Storage Classes:** Cloud
provider-specific storage classes (AWS EBS, Azure Disk, GCP PD) / *Rationale:*
<short reason> / *PM/Lead Agreement:* <PM Full Name>, <YYYY-MM-DD>", ensuring
the PM/Lead Agreement contains an actual name and date (no placeholders) and add
any supporting evidence (Jira ticket or approval reference) in the rationale or
agreement field.
🪄 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: 10da4edb-d611-4e27-bd22-954a4aef9a4b

📥 Commits

Reviewing files that changed from the base of the PR and between 6f2df3a and 0aa9a5f.

📒 Files selected for processing (1)
  • stps/sig-storage/storage_mig_offline.md

Comment thread stps/sig-storage/storage_mig_offline.md
Comment thread stps/sig-storage/storage_mig_offline.md
- Document Upgrade Testing evaluation: confirmed this is an additive feature requiring no upgrade testing
- Document Monitoring evaluation: no new metrics/alerts needed, reuses existing migration monitoring
- Document Scale Testing evaluation: inherits scalability from existing migration infrastructure
- Document Security Testing evaluation: no new security boundaries, leverages existing RBAC
- Document Cloud Testing evaluation: cloud storage classes explicitly out of scope
- Add DP: N/A to Feature Maturity metadata
- Align all Test Strategy details with NFRs section
- Address CodeRabbit HIGH severity review comment on mandatory documentation requirements

All N/A test types now include explicit justifications as required by AGENTS.md guidelines.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
@openshift-virtualization-qe-bot-4
Copy link
Copy Markdown

duyanyan 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"}


- [x] **Review Requirements**
- *List the key D/S requirements reviewed:*
- Support storage migration for offline (stopped) VMs between different storage classes
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

will you cover between File and Block, (both directions)? If so, please call it out.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

We should support all the combinations since we are just calling a CDI copy clone to do the actual transfer.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

You are right, should cover all volume mode combinations. Let me add it in next commit.

Comment thread stps/sig-storage/storage_mig_offline.md Outdated

- [x] **Review Requirements**
- *List the key D/S requirements reviewed:*
- Support storage migration for offline (stopped) VMs between different storage classes
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

We should support all the combinations since we are just calling a CDI copy clone to do the actual transfer.

Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
Comment thread stps/sig-storage/storage_mig_offline.md Outdated
- **[P0]** Verify source volumes are retained or deleted according to retentionPolicy configuration when offline VM storage migration completes
- **[P1]** Verify offline VM storage migration completes when the VM has hotplug disks attached
- **[P2]** Verify offline VM continues pointing to the original volume when storage migration fails
- **[P2]** Verify storage migration completes when a stopped VM is started during the migration process
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There is no way to limit the migration speed using CDI, so the only thing would be to use larger images that take a while to complete. Like a windows image or something like that.

josemacassan and others added 2 commits May 6, 2026 10:17
- Add support for all volume mode combinations (File-to-Block, Block-to-File,
  File-to-File, Block-to-Block) since CDI copy clone handles the transfer
- Clarify VM start behavior during migration: VM waits for migration completion
  before becoming ready as volumes are switched to target (pending) state
- Add cloud storage classes (AWS EBS, Azure Disk, GCP PD) to supported storage
- Remove cloud storage exclusion from out-of-scope section
- Add Volume Mode Coverage section with all supported combinations
- Update test environment to include cloud platforms (AWS, Azure, GCP)
- Enable Cloud Testing requirement in test strategy

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
@openshift-virtualization-qe-bot-5
Copy link
Copy Markdown

duyanyan 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"}

1 similar comment
@openshift-virtualization-qe-bot-4
Copy link
Copy Markdown

duyanyan 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"}

Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
Signed-off-by: Jose Manuel Castano <joscasta@redhat.com>
@openshift-virtualization-qe-bot
Copy link
Copy Markdown

duyanyan 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"}

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.