diff --git a/stps/sig-storage/storage_mig_offline.md b/stps/sig-storage/storage_mig_offline.md new file mode 100644 index 0000000..7711aba --- /dev/null +++ b/stps/sig-storage/storage_mig_offline.md @@ -0,0 +1,410 @@ +# Openshift-virtualization-tests Test plan + +## **Offline Storage Migration - Quality Engineering Plan** + +### **Metadata & Tracking** + +- **Enhancement(s):** N/A +- **Feature Tracking:** [CNV-82430](https://issues.redhat.com/browse/CNV-82430) +- **Epic Tracking:** [CNV-73500](https://issues.redhat.com/browse/CNV-73500) +- **QE Owner(s):** Yan Du +- **Owning SIG:** sig-storage +- **Participating SIGs:** sig-storage + +**Document Conventions:** +- **VM** - Virtual Machine +- **CNV** - Container-native Virtualization (OpenShift Virtualization) +- **CDI** - Containerized Data Importer +- **PVC** - Persistent Volume Claim +- **DV** - DataVolume + +### **Feature Overview** + +This feature extends the OpenShift Virtualization migration plan to support storage migration for offline (stopped) VMs in addition to existing online (running) VM support. It enables customers to migrate storage for VMs regardless of their running state, allowing mixed migration plans containing both offline and running VMs. + +--- + +### **I. Motivation and Requirements Review (QE Review Guidelines)** + +This section documents the mandatory QE review process. The goal is to understand the feature's value, +technology, and testability before formal test planning. + +#### **1. Requirement & User Story Review Checklist** + + + +- [x] **Review Requirements** + + - *List the key D/S requirements reviewed:* Reviewed the user cases for offline VM storage migration from CNV-82430 and CNV-73500 + +- [x] **Understand Value and Customer Use Cases** + + - *Describe the feature's value to customers:* Enables customers to perform storage migration for offline VMs without requiring them to be running, providing flexibility in storage management operations. + - *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. + +- [x] **Testability** + + - *Note any requirements that are unclear or untestable:* Requirements are testable. Downstream build with the feature code is available for testing. + +- [x] **Acceptance Criteria** + + - *List the acceptance criteria:* + - Storage migration completes successfully for offline VMs + - Storage migration completes successfully for mixed offline VMs and running VMs in a single migration plan + - Storage migration completes successfully for offline VMs with hotplug disk + - Source volume could be retained/cleaned up for an offline VM migration completed with retentionPolicy defined + + - *Note any gaps or missing criteria:* N/A + +- [x] **Non-Functional Requirements (NFRs)** + + - *List applicable NFRs and their targets:* Documentation updates to reflect offline VM storage migration support + - *Note any NFRs not covered and why:* Performance and scale testing are not required for this feature + +#### **2. Known Limitations** + +The limitations are documented to ensure alignment between development, QA, and product teams. +The following topics will not be tested or supported. + + + +None identified at this time. + +#### **3. Technology and Design Review** + + + +- [x] **Developer Handoff/QE Kickoff** + + - *Key takeaways and concerns:* Extend the offline VMs storage migration support + +- [x] **Technology Challenges** + + - *List identified challenges:* Offline VMs initiate migration through CDI clone of the source PVC + - *Impact on testing approach:* Test cases must verify both offline VM migration mixed scenarios with both offline and running VMs in the same migration plan. + +- [x] **API Extensions** + + - *List new or modified APIs:* No new APIs - extends existing migration plan API to handle offline VMs + - *Testing impact:* No API test updates required; functional tests will verify new behavior + +- [x] **Test Environment Needs** + + - *See environment requirements in Section II.3 and testing tools in Section II.3.1* + +- [x] **Topology Considerations** + + - *Describe topology requirements:* Standard 3-master/3-worker cluster sufficient + - *Impact on test design:* No special topology requirements + +### **II. Software Test Plan (STP)** + +This STP serves as the **overall roadmap for testing**, detailing the scope, approach, resources, and schedule. + +#### **1. Scope of Testing** + + + +**Testing Goals** + + + + + +- **[P0]** Verify storage migration for offline VM +- **[P0]** Verify storage migration for offline VM and running VM in one migration plan +- **[P1]** Verify storage migration for offline VM with hotplug disk +- **[P1]** Verify retentionPolicy for offline VM storage migration + +**Out of Scope (Testing Scope Exclusions)** + +The following items are explicitly Out of Scope for this test cycle and represent intentional exclusions. +No verification activities will be performed for these items, and any related issues found will not be classified as defects for this release. + + + +- [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 + +#### **2. Test Strategy** + + + +**Functional** + +- [x] **Functional Testing** — Validates that the feature works according to specified requirements and user stories + + - *Details:* Functional testing will verify offline VM storage migration and mixed offline/online VM migration scenarios + +- [x] **Automation Testing** — Confirms test automation plan is in place for CI and regression coverage (all tests are expected to be automated) + + - *Details:* All test cases will be automated + +- [x] **Regression Testing** — Verifies that new changes do not break existing functionality + - *Details:* Verify that existing online VM storage migration functionality remains unaffected by the offline VM support additions + +**Non-Functional** + +- [ ] **Performance Testing** — Validates feature performance meets requirements (latency, throughput, resource usage) + - *Details:* Not applicable + +- [ ] **Scale Testing** — Validates feature behavior under increased load and at production-like scale (e.g., large number of VMs, nodes, or concurrent operations) + - *Details:* Not applicable + +- [ ] **Security Testing** — Verifies security requirements, RBAC, authentication, authorization, and vulnerability scanning + - *Details:* Not applicable + +- [x] **Usability Testing** — Validates user experience and accessibility requirements + - Does the feature require a UI? If so, ensure the UI aligns with the requirements (UI/UX consistency, accessibility) + - Does the feature expose CLI commands? If so, validate usability and that needed information is available (e.g., status conditions, clear output) + - Does the feature trigger backend operations that should be reported to the admin? If so, validate that the user receives clear feedback about the operation and its outcome (e.g., status conditions, events, or notifications indicating success or failure) + - *Details:* UI testing will be covered by the UI team + +- [ ] **Monitoring** — Does the feature require metrics and/or alerts? + - *Details:* Not applicable + +**Integration & Compatibility** + +- [x] **Compatibility Testing** — Ensures feature works across supported platforms, versions, and configurations + - Does the feature maintain backward compatibility with previous API versions and configurations? + - *Details:* Feature maintains backward compatibility with existing migration API. Existing online VM migrations continue to work unchanged. + +- [ ] **Upgrade Testing** — Validates upgrade paths from previous versions, data migration, and configuration preservation + - *Details:* Not applicable + +- [ ] **Dependencies** — Blocked by deliverables from other components/products. Identify what we need from other teams before we can test. + + - *Details:* No blocking dependencies + +- [x] **Cross Integrations** — Does the feature affect other features or require testing by other teams? Identify the impact we cause. + + - *Details:* UI team needs to update their migration UI to support offline VM selection + +**Infrastructure** + +- [ ] **Cloud Testing** — Does the feature require multi-cloud platform testing? Consider cloud-specific features. + - *Details:* Not applicable + +#### **3. Test Environment** + + + +- **Cluster Topology:** 3-master/3-worker bare-metal + + +- **OCP & OpenShift Virtualization Version(s):** OCP 4.22 with OpenShift Virtualization 4.22 + + +- **CPU Virtualization:** VT-x (Intel) or AMD-V enabled + + +- **Compute Resources:** Minimum per worker node: 8 vCPUs, 32GB RAM + + +- **Special Hardware:** N/A + + +- **Storage:** ocs-storagecluster-ceph-rbd-virtualization + + +- **Network:** OVN-Kubernetes, IPv4 + + +- **Required Operators:** N/A + + +- **Platform:** PSI + + +- **Special Configurations:** N/A + + +#### **3.1. Testing Tools & Frameworks** + + + +- **Test Framework:** Standard + + +- **CI/CD:** N/A + + +- **Other Tools:** N/A + + +#### **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** + + + +**Timeline/Schedule** + +- **Risk:** N/A + - **Mitigation:** N/A + - *Estimated impact on schedule:* None + +**Test Coverage** + +- **Risk:** N/A + - **Mitigation:** All acceptance criteria are covered by planned test scenarios + - *Areas with reduced coverage:* None + +**Test Environment** + +- **Risk:** N/A + - **Mitigation:** Standard test environment is sufficient for testing this feature + - *Missing resources or infrastructure:* None + +**Untestable Aspects** + +- **Risk:** N/A + - **Mitigation:** N/A + - *Alternative validation approach:* N/A + +**Resource Constraints** + +- **Risk:** N/A + - **Mitigation:** N/A + - *Current capacity gaps:* None + +**Dependencies** + +- **Risk:** N/A + - **Mitigation:** No external dependencies + - *Dependent teams or components:* UI team for UI updates (non-blocking) + +**Other** + +- **Risk:** N/A + - **Mitigation:** No additional risks identified + + +--- + +### **III. Test Scenarios & Traceability** + + + + + +- **[CNV-82430]** — Storage migration support for offline VMs + - *Test Scenario:* [Tier 2] Verify storage migration completes successfully for offline VMs + - *Priority:* P0 + +- **[CNV-82430]** — Storage migration with mixed VM states + - *Test Scenario:* [Tier 2] Verify storage migration completes successfully for a migration plan containing both offline and running VMs + - *Priority:* P0 + +- **[CNV-82430]** — Storage migration support for offline VMs with hotplug disk + - *Test Scenario:* [Tier 2] Verify storage migration completes successfully for offline VM with hotplug disk + - *Priority:* P1 + +- **[CNV-82430]** — RetentionPolicy with offline VM + - *Test Scenario:* [Tier 2] Verify source volume will be remained/cleaned up for offline VM with retentionPolicy set in Plan + - *Priority:* P0 + +--- + +### **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]