Skip to content

storage: Add STP for offline storage migration#63

Open
duyanyan wants to merge 2 commits intoRedHatQE:mainfrom
duyanyan:offline
Open

storage: Add STP for offline storage migration#63
duyanyan wants to merge 2 commits intoRedHatQE:mainfrom
duyanyan:offline

Conversation

@duyanyan
Copy link

@duyanyan duyanyan commented Mar 25, 2026

STP Metadata

VEP issue:

What this PR does

Special notes for your reviewer

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive Offline Storage Migration Quality Engineering Plan for OpenShift Virtualization, including testing strategy, functional and non-functional requirements, acceptance criteria, test environment specifications, and requirements-to-test-scenario traceability.

@coderabbitai
Copy link

coderabbitai bot commented Mar 25, 2026

Walkthrough

A new OpenShift Virtualization offline storage migration quality engineering plan document was added. It includes feature overview, QE review checklist, testing strategy, environment requirements, and requirement-to-test scenario traceability for offline VM storage migration scenarios.

Changes

Cohort / File(s) Summary
New STP Documentation
stps/sig-storage/storage_mig_offline.md
Added comprehensive offline storage migration STP with metadata, feature overview, QE review checklist, testing goals/scope/strategy, environment requirements, entry criteria, risk categories, and test scenario traceability matrix.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'storage: Add STP for offline storage migration' directly and clearly matches the main change in the changeset—a new STP document for offline storage migration is added.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

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

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.

Warning

⚠️ This pull request might be slop. It has been flagged by CodeRabbit slop detection and should be reviewed carefully.

@openshift-virtualization-qe-bot-5

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
  • dalia-frank
  • duyanyan
  • josemacassan
  • jpeimer
  • kgoldbla
  • kshvaika
  • stesrn
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 automatically removed on each new commit
  • 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

@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

🧹 Nitpick comments (2)
stps/sig-storage/storage_mig_offline.md (2)

232-237: Usability classification contradicts stated scope ownership.

Usability Testing is checked, but details say UI testing is owned by UI team and elsewhere UI tests are out of scope. Either uncheck this item or scope it strictly to non-UI UX checks (CLI/status/events).

🤖 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 232 - 237, Update the
checklist so the "Usability Testing" item is consistent with the stated scope:
either remove the checked mark (uncheck "Usability Testing") or rewrite that
checklist line to explicitly limit it to non-UI aspects (CLI/status/events) and
replace the existing "*Details:* UI testing will be covered by the UI team" with
a clarifying note that UI testing is out of scope and owned by the UI team;
ensure the change targets the "Usability Testing" checklist entry and the
accompanying "*Details:* UI testing will be covered by the UI team" line.

7-7: Prefer linking HLD in Enhancement(s) instead of N/A when no enhancement PR exists.

Using an HLD reference preserves traceability while still aligning with repo practice when no enhancement PR is available.
Based on learnings: In this repository, if no enhancement PR exists, it is acceptable to reference only the HLD document in the Enhancement(s) field.

🤖 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 7, Update the markdown
front-matter entry "Enhancement(s):" to reference the HLD document instead of
"N/A": replace the literal "N/A" with a short link or citation to the relevant
HLD (e.g., HLD title and URL or internal doc reference) so the enhancement field
preserves traceability; edit the line showing **Enhancement(s):** in
storage_mig_offline.md to include that HLD reference.
🤖 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 174-175: The document has inconsistent priority labels for the
same scenario: the heading/entry "Verify retentionPolicy for offline VM storage
migration" is marked as **[P1]** in Section II but as **[P0]** in Section III
(also duplicated around lines 395-397); pick the correct priority (P0 or P1) and
make both occurrences consistent by updating the priority tag(s) so the scenario
uses the same label in "Verify retentionPolicy for offline VM storage migration"
across Section II and Section III (and the duplicate at 395-397).
- Around line 191-197: The checklist items "Other storage migration tests" and
"Storage migration UI tests" are checked but their "PM/Lead Agreement" fields
are empty; update the document so the state is consistent by either filling the
PM/Lead Agreement lines with the approver name and date for each item ("Other
storage migration tests" and "Storage migration UI tests") or change the
top-level checkboxes to an unchecked/pending state (or add a clear "Pending"
note) to avoid indicating false completion.
- Around line 401-410: Replace the placeholder reviewers/approvers in the "IV.
Sign-off and Approval" section with real names and GitHub handles and add a
final sign-off checklist that explicitly lists required role approvals (QE Lead,
PM, Development Lead) and checklist items (e.g., "Test cases executed",
"Regression run status", "Release readiness", "Risk acceptance", "Deployment
window approved"); update the heading "IV. Sign-off and Approval" so the block
contains concrete approver entries and checkboxes for each required sign-off
step to ensure traceable approvals.
- Around line 311-318: Add a mandatory "Exit Criteria" subsection immediately
after the "Entry Criteria" header in Section II that lists clear,
test-completion and readiness gating items for sign-off (e.g., all test cases
executed/pass rates, critical/high defects closed or mitigated, documentation
updated/merged, environment teardown steps, and stakeholder approval). Ensure
the new "Exit Criteria" markdown header mirrors the style of "Entry Criteria"
and contains a checked/unchecked checklist template so reviewers can mark items
off during sign-off; reference the existing "Entry Criteria" text to copy
formatting and checklist style.

---

Nitpick comments:
In `@stps/sig-storage/storage_mig_offline.md`:
- Around line 232-237: Update the checklist so the "Usability Testing" item is
consistent with the stated scope: either remove the checked mark (uncheck
"Usability Testing") or rewrite that checklist line to explicitly limit it to
non-UI aspects (CLI/status/events) and replace the existing "*Details:* UI
testing will be covered by the UI team" with a clarifying note that UI testing
is out of scope and owned by the UI team; ensure the change targets the
"Usability Testing" checklist entry and the accompanying "*Details:* UI testing
will be covered by the UI team" line.
- Line 7: Update the markdown front-matter entry "Enhancement(s):" to reference
the HLD document instead of "N/A": replace the literal "N/A" with a short link
or citation to the relevant HLD (e.g., HLD title and URL or internal doc
reference) so the enhancement field preserves traceability; edit the line
showing **Enhancement(s):** in storage_mig_offline.md to include that HLD
reference.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f7b2c049-541d-4f3c-82da-c8338c8c7b36

📥 Commits

Reviewing files that changed from the base of the PR and between a32da65 and 638b477.

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

Comment on lines +174 to +175
- **[P1]** Verify retentionPolicy for offline VM storage migration

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

RetentionPolicy priority conflicts between goals and traceability.

Section II marks it as P1, but Section III marks the same scenario as P0. Keep one priority to avoid planning/execution drift.

Also applies to: 395-397

🤖 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 174 - 175, The document
has inconsistent priority labels for the same scenario: the heading/entry
"Verify retentionPolicy for offline VM storage migration" is marked as **[P1]**
in Section II but as **[P0]** in Section III (also duplicated around lines
395-397); pick the correct priority (P0 or P1) and make both occurrences
consistent by updating the priority tag(s) so the scenario uses the same label
in "Verify retentionPolicy for offline VM storage migration" across Section II
and Section III (and the duplicate at 395-397).

Comment on lines +191 to +197
- [x] **Other storage migration tests**
- *Rationale:* Existing storage migration tests already covered in 4.21 release
- *PM/Lead Agreement:* [ ] Name/Date

- [x] **Storage migration UI tests**
- *Rationale:* UI testing is owned by UI team
- *PM/Lead Agreement:* [ ] Name/Date
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Out-of-scope approvals are marked incomplete while items are marked finalized.

Both exclusions are checked, but PM/Lead Agreement is empty. Either fill names/dates or mark these as pending to avoid false completion.

🤖 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 191 - 197, The
checklist items "Other storage migration tests" and "Storage migration UI tests"
are checked but their "PM/Lead Agreement" fields are empty; update the document
so the state is consistent by either filling the PM/Lead Agreement lines with
the approver name and date for each item ("Other storage migration tests" and
"Storage migration UI tests") or change the top-level checkboxes to an
unchecked/pending state (or add a clear "Pending" note) to avoid indicating
false completion.

Comment on lines +311 to +318
#### **4. Entry Criteria**

The following conditions must be met before testing can begin:

- [x] Requirements and design documents are **approved and merged**
- [x] Test environment can be **set up and configured** (see Section II.3 - Test Environment)

#### **5. Risks**
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add mandatory Exit Criteria section before sign-off.

Section II has Entry Criteria only; Exit Criteria is missing, which leaves GA/readiness gating undefined.

Proposed markdown update
 #### **4. Entry Criteria**
@@
 - [x] Requirements and design documents are **approved and merged**
 - [x] Test environment can be **set up and configured** (see Section II.3 - Test Environment)
+
+#### **5. Exit Criteria**
+
+- [ ] All high-priority defects are resolved and verified
+- [ ] Test coverage goals achieved
+- [ ] Test automation merged (required for GA sign-off)
+- [ ] All planned test cycles completed
+- [ ] Test summary report approved
+- [ ] Acceptance criteria met
-
-#### **5. Risks**
+#### **6. Risks**
🤖 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 311 - 318, Add a
mandatory "Exit Criteria" subsection immediately after the "Entry Criteria"
header in Section II that lists clear, test-completion and readiness gating
items for sign-off (e.g., all test cases executed/pass rates, critical/high
defects closed or mitigated, documentation updated/merged, environment teardown
steps, and stakeholder approval). Ensure the new "Exit Criteria" markdown header
mirrors the style of "Entry Criteria" and contains a checked/unchecked checklist
template so reviewers can mark items off during sign-off; reference the existing
"Entry Criteria" text to copy formatting and checklist style.

Comment on lines +401 to +410
### **IV. Sign-off and Approval**

This Software Test Plan requires approval from the following stakeholders:

* **Reviewers:**
- [Name / @github-username]
- [Name / @github-username]
* **Approvers:**
- [Name / @github-username]
- [Name / @github-username]
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Sign-off block is incomplete for required approvers/checklist.

The section has placeholders only and misses the final sign-off checklist items plus explicit QE Lead / PM / Development Lead approvals.

🤖 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 401 - 410, Replace the
placeholder reviewers/approvers in the "IV. Sign-off and Approval" section with
real names and GitHub handles and add a final sign-off checklist that explicitly
lists required role approvals (QE Lead, PM, Development Lead) and checklist
items (e.g., "Test cases executed", "Regression run status", "Release
readiness", "Risk acceptance", "Deployment window approved"); update the heading
"IV. Sign-off and Approval" so the block contains concrete approver entries and
checkboxes for each required sign-off step to ensure traceable approvals.

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.

4 participants