Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
345 changes: 345 additions & 0 deletions stps/sig-storage/storage_mig_offline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,345 @@
# Openshift-virtualization-tests Test plan

## **Offline Storage Migration - Quality Engineering Plan**

### **Metadata & Tracking**

- **Enhancement(s):** [CNV-77501](https://redhat.atlassian.net/browse/CNV-77501) - no VEP exists for this feature
- **Feature Tracking:** [CNV-73509](https://redhat.atlassian.net/browse/CNV-73509)
- **Epic Tracking:** [CNV-73500](https://redhat.atlassian.net/browse/CNV-73500)
- **QE Owner(s):** Jose Manuel Castano (joscasta@redhat.com)
- **Owning SIG:** sig-storage
- **Participating SIGs:** sig-storage
- **Feature Maturity:**
- DP: N/A
- TP: v4.22
- GA: v5.0
Comment thread
josemacassan marked this conversation as resolved.

Comment thread
josemacassan marked this conversation as resolved.
**Document Conventions:**
None

### **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:*
- 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.

- Support mixed migration plans containing both offline and running VMs
- Support offline VM storage migration with hotplug disks attached
- Support retentionPolicy configuration for source volume cleanup after offline VM migration
- Ensure offline VMs remain pointing to original volumes when migration fails
- Support VM start operations during ongoing storage migration, the VM must start after migration completion (volumes are switched to new target volumes in pending state once migration begins)
- Support all volume mode combinations (File-to-Block, Block-to-File, File-to-File, Block-to-Block) given that CDI copy clone performs the underlying storage transfer
- Reviewed 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:* Customers need 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:*
- As a VM owner, I want to migrate storage for offline VMs, so that I can perform storage management operations without having to start the VMs
- As a VM owner, I want to migrate storage with mixed VM states (online and offline) in one migration plan, so that I can perform 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:*
- As a VM owner, I want to migrate storage for offline VMs between ODF and HPP storage classes, so that:
- Migration plan status reports "Succeeded"
- Offline VM disk references point to the new target storage class
- VM boots successfully after migration using the migrated storage
- As a VM owner, I want to migrate storage with mixed offline VMs and running VMs in one migration plan, so that:
- Migration plan status reports "Succeeded"
- All offline VMs point to target storage class
- All running VMs point to target storage class and remain running
- As a VM owner, I want to migrate storage for offline VMs with hotplug disk, so that:
- Migration plan status reports "Succeeded"
- All disks including hotplug disks are migrated to target storage class
- VM boots successfully with all disks accessible
- As a VM owner, I want to retain or delete the source volume for an offline VM, so that:
- When retentionPolicy=retain: source volumes exist after migration completes
- When retentionPolicy=delete: source volumes are deleted after migration completes
- As a VM owner, I want an offline VM to point to the original volume when migration fails, so that:
- Migration plan status reports "Failed"
- VM disk references remain unchanged and point to original storage
- As a VM owner, I want migration to succeed when starting a stopped VM during migration, so that:
- Migration plan status reports "Succeeded"
- VM start operation waits for migration to complete before the VM becomes ready (volumes are switched to target storage in pending state)
- VM points to target storage and starts successfully after migration completes

- *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 and UI support for offline VM migrations.
- *Note any NFRs not covered and why:*
- **Performance:** Not covered - Performance testing for bulk offline migrations is tracked separately and will be addressed by a dedicated test plan
- **Monitoring:** Not applicable - Feature does not introduce new metrics or alerts; existing migration monitoring applies
- **Observability:** Not applicable - Feature reuses existing migration observability patterns without new requirements
- **Security:** Not applicable - Feature does not introduce new security boundaries or authentication/authorization requirements; leverages existing migration RBAC
- **Scalability:** Not applicable - Scalability characteristics inherit from existing migration infrastructure; no new scalability requirements introduced

#### **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 - reviewed and confirmed with Jose Manuel Castano on Apr 28,2026.

#### **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 migration uses a different mechanism than online migration, requiring separate test coverage
- *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 offline VM storage migration completes between ODF and HPP storage classes, and the VM boots successfully after migration
- **[P0]** Verify storage migration completes for a migration plan containing both offline and running VMs
- **[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 and the VM waits for migration completion before becoming ready

**Storage Class Coverage**

The following storage classes are supported for migration testing:
- **ODF** (ocs-storagecluster-ceph-rbd-virtualization)
- **HPP** (hostpath-csi-pvc-block)
- **AWS EBS** (gp3-csi)
- **Azure Disk** (managed-csi)
- **GCP PD** (pd-ssd-csi)

Migration combinations will be tested including:
- Cross-storage class migrations (e.g., ODF ↔ HPP, ODF ↔ AWS EBS)
- Same-storage class migrations (e.g., ODF ↔ ODF, HPP ↔ HPP)

**Volume Mode Coverage**

All volume mode combinations are supported and will be tested:
- **Block ↔ Block** — Block to Block migration
- **File ↔ File** — Filesystem to Filesystem migration
- **Block ↔ File** — Block to Filesystem migration
- **File ↔ Block** — Filesystem to Block 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.

None

> **PM Sign-off:** [Name], [Date]
Comment on lines +153 to +160
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Apr 29, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

HIGH: Replace PM sign-off placeholder with actual sign-off.

Line 144 contains a placeholder [Name], [Date] that must be replaced with an actual PM name and date before merge. Every Out of Scope exclusion requires documented PM agreement with evidence.

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."

✏️ Proposed fix
-> **PM Sign-off:** [Name], [Date]
+> **PM Sign-off:** [Actual PM Name], Apr 28, 2026

(Replace with the actual PM who agreed to this scope exclusion.)

🤖 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 137 - 144, Replace the
placeholder PM sign-off "[Name], [Date]" under the "**Out of Scope (Testing
Scope Exclusions)**" section with the actual PM/lead name and the agreement
date, and update the bullet to follow the required STP format (e.g., "-
**Storage Classes:** *Rationale:* Cloud provider-specific storage classes are
excluded / *PM/Lead Agreement:* [Actual Name], [YYYY-MM-DD]") so every Out of
Scope item includes documented PM agreement and date instead of an empty
placeholder.

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.

I will add it once I get approval from PM

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@josemacassan, understood — that's the right process. Just make sure the placeholder is replaced with the actual PM name and date before merge, as the STP must not contain empty sign-off placeholders in its approved state. Once you receive PM approval, also consider updating the Out of Scope bullet to follow the full required format:

- **Storage Classes:** *Rationale:* Cloud provider-specific storage classes (AWS EBS, Azure Disk, GCP PD) are excluded for initial release / *PM/Lead Agreement:* [Actual PM Name], [YYYY-MM-DD]

Happy to help once the information is available!


🧠 Learnings used
Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:174-174
Timestamp: 2026-04-13T10:20:17.029Z
Learning: In the openshift-virtualization-tests-design-docs repository, when a feature's tests are genuinely storage-agnostic (e.g., network-focused STPs under stps/sig-virt/), it is acceptable to write "Any available StorageClass (network-focused tests; storage type does not affect test outcomes)" in the Storage field of Section II.3 Test Environment rather than leaving it as the bare word "Agnostic". The Platform field must also always be populated explicitly (e.g., "Bare metal").

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.

Learnt from: yossisegev
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 7
File: stps/sig-network/ip-request-stp.md:0-0
Timestamp: 2026-01-19T08:27:03.411Z
Learning: In the openshift-virtualization-tests-design-docs repository, not all features have OpenShift enhancement PRs. When no enhancement PR exists, it's acceptable to reference only the HLD (High-Level Design) document in the Enhancement(s) field of the STP metadata table.

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : STP Test Environment (II.3) must specify OCP and OpenShift Virtualization versions explicitly (exact versions preferred; qualified ranges like '4.22 and later' acceptable), storage class, platform, and special configurations

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 74
File: stps/sig-network/hotpluggable-nad-ref.md:196-196
Timestamp: 2026-04-16T12:25:48.482Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-network/hotpluggable-nad-ref.md, PR `#74`), the "Live Update NAD Reference" feature tests are platform-agnostic — they can run on any platform that supports live migration (bare metal, AWS, PSI, etc.), not exclusively bare metal. The Platform field in Section II.3 must still be populated with the explicit list of platforms used in CI (e.g., "Bare metal, AWS"), not "Agnostic". The Cloud Testing section should also reflect that no specific cloud platform is required, as long as live migration is available.

Learnt from: yossisegev
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 39
File: stps/sig-network/hotpluggable-nad-ref-stp.md:66-66
Timestamp: 2026-03-11T17:53:51.381Z
Learning: In the openshift-virtualization-tests-design-docs repository (PR `#39`, hotpluggable-nad-ref-stp.md), the agreed outcome from the Anatw review discussion about "Verify behavior when LiveUpdateNADRef feature-gate is disabled" was to lower the priority of the test goal (from P1 to P2/P3), not to remove the goal entirely. Anatw stated: if the scenario is included, it should be lower priority (P3). The author lowered it to P2, which satisfies the agreement.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 52
File: stps/stp-template/stp.md:11-11
Timestamp: 2026-03-12T12:39:22.684Z
Learning: In the openshift-virtualization-tests-design-docs repository, already-merged STP documents should NOT be checked for formatting consistency with the current template under review. The template may evolve independently, and existing merged STPs are not expected to retroactively conform to new template conventions (e.g., field renaming such as "Jira Tracking" → "Epic in Jira").

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.

Learnt from: Anatw
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 37
File: stps/sig-network/stuntime_measurement.md:123-124
Timestamp: 2026-02-24T16:42:14.161Z
Learning: In the openshift-virtualization-tests-design-docs repository, when documenting "OCP & OpenShift Virtualization Version(s)" in STP test environment tables, features may specify "v4.X onward" while also noting "Can be backported to all versions." This indicates the feature debuts in version X and continues forward, but tests and functionality can also be backported to earlier releases.
<!-- <review_comment_addressed>

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:7-7
Timestamp: 2026-04-13T10:17:51.341Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md, PR `#65`), when a feature has neither a VEP nor an HLD, it is acceptable to reference the Jira epic (e.g., CNV-77027) in the Enhancement(s) field, with an explicit note that no VEP or HLD exists. This serves as the closest available design artifact for traceability.

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : Known Limitations in STPs must include sign-off: `*Sign-off:* [Name/Date]`. If none exist, include: 'None — reviewed and confirmed with [Name/Date]'

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : STP Sign-off and Approval (IV) must list reviewers with names and GitHub handles, approvers (QE Lead, PM, Dev Lead minimum), with no placeholder text remaining

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : STP Test Limitations must each have sign-off: `*Sign-off:* [Name/Date]` and represent constraints imposed on QE, not decisions QE made

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : STP Out of Scope items must follow format: `- **Item** / *Rationale:* / *PM/Lead Agreement:*` with actual name and date, not placeholders

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : Every claim in an STP must have evidence — sign-offs, Jira links, dates. No empty placeholders in approved STPs

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-12T10:45:10.935Z
Learning: Refer to AGENTS.md for AI review standards for STP pull requests

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : When risk exists in STP, full entry required: Risk description, Mitigation strategy, Sign-off, and category-specific supplemental field. When no risk, only short justification in Mitigation field needed without Sign-off

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/*/*/*.md : Multi-SIG features must list all participating SIGs with confirmed test scope. Child STPs must NOT duplicate parent STP content. Each SIG's regression responsibility must be explicitly documented

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : Do not list items as 'Out of Scope' in STPs when they are already covered by existing tests or other teams — document as existing coverage instead

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 74
File: stps/sig-network/hotpluggable-nad-ref.md:100-102
Timestamp: 2026-04-14T11:30:37.401Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-network/hotpluggable-nad-ref.md, PR `#74`), the "Topology Considerations" subsection of Section I.3 does not need to repeat cluster requirements (e.g., multi-node required, SNO excluded) if those constraints are already explicitly documented in the "Known Limitations" section (I.2) and the "Test Environment" section (II.3). Cross-referencing across sections is acceptable; duplication is not required.

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-23T17:29:01.803Z
Learning: Applies to **/stps/**/*.md : Topology Considerations in STP Technology and Design Review must specify cluster and network topology requirements and impact on test design — not internal resource creation

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.


#### **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:* Performance testing for bulk offline migrations is tracked separately in CNV-82430 and will be covered by a separate test plan

- [ ] **Scale Testing** — Validates feature behavior under increased load and at production-like scale (e.g., large number of VMs, nodes, or concurrent operations)
- *Details:* N/A. Scalability characteristics inherit from existing migration infrastructure; no new scalability requirements introduced by adding offline VM support.

- [ ] **Security Testing** — Verifies security requirements, RBAC, authentication, authorization, and vulnerability scanning
- *Details:* N/A. Feature does not introduce new security boundaries or authentication/authorization requirements; leverages existing migration RBAC model.

- [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 in https://redhat.atlassian.net/browse/CNV-77503

Comment thread
josemacassan marked this conversation as resolved.
- [ ] **Monitoring** — Does the feature require metrics and/or alerts?
- *Details:* N/A. No new metrics or alerts are required. Feature does not introduce new metrics or alerts; existing migration monitoring applies to both online and offline VM migrations.

**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:* Upgrade path was evaluated. No dedicated upgrade testing is required because this is a new additive feature (offline VM storage migration support) that does not modify existing migration behavior or introduce configuration changes requiring migration. Existing online VM migration functionality remains unchanged and backward compatible (see Compatibility Testing). Users upgrading to v4.22+ will gain offline migration capability without requiring any configuration updates or data migration.

Comment thread
josemacassan marked this conversation as resolved.
- [ ] **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**

- [x] **Cloud Testing** — Does the feature require multi-cloud platform testing? Consider cloud-specific features.
- *Details:* Multi-cloud platform testing is required to validate storage migration across cloud provider storage classes (AWS EBS, Azure Disk, GCP PD). Since CDI copy clone performs the underlying storage transfer, the feature works across all platforms.

#### **3. Test Environment**

- **Cluster Topology:** 3-master/3-worker

- **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:**
- Bare Metal: ocs-storagecluster-ceph-rbd-virtualization, hostpath-csi-pvc-block
- AWS: gp3-csi
- Azure: managed-csi
- GCP: pd-ssd-csi

- **Network:** OVN-Kubernetes, IPv4

- **Required Operators:** N/A

- **Platform:** Bare Metal, AWS, Azure, GCP

- **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:** No scheduling or deadline risks identified
- **Mitigation:** Standard test timeline is sufficient for planned test scenarios
- *Estimated impact on schedule:* None
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

**Test Coverage**

- **Risk:** No gaps in test coverage identified
- **Mitigation:** All acceptance criteria are covered by planned test scenarios
- *Areas with reduced coverage:* None
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

**Test Environment**

- **Risk:** No hardware, software, or infrastructure constraints identified
- **Mitigation:** Standard test environment is sufficient for testing this feature
- *Missing resources or infrastructure:* None
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

**Untestable Aspects**

- **Risk:** No untestable scenarios identified
- **Mitigation:** All scenarios can be reproduced in test environment
- *Alternative validation approach:* N/A
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

**Resource Constraints**

- **Risk:** No staffing, skill, or capacity limitations identified
- **Mitigation:** Current QE team capacity is sufficient for planned test execution
- *Current capacity gaps:* None
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

**Dependencies**

- **Risk:** No blocking external dependencies identified
- **Mitigation:** UI team updates for offline VM selection are non-blocking; API testing can proceed independently
- *Dependent teams or components:* UI team for UI updates (non-blocking)
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

**Other**

- **Risk:** No additional risks identified
- **Mitigation:** No additional mitigation required
- *Sign-off:* Jose Manuel Castano, Apr 28, 2026

---

### **III. Test Scenarios & Traceability**

- **[CNV-73500]** — As a VM owner, I want to migrate storage for offline VMs between ODF and HPP
- *Test Scenario:* [Tier 2] Verify storage migration completes for offline VMs between ODF and HPP, and the VM boots successfully after migration
- *Priority:* P0

- **[CNV-73500]** — As a VM owner, I want to migrate storage with mixed VM states (online and offline)
- *Test Scenario:* [Tier 2] Verify storage migration completes for a migration plan containing both offline and running VMs
- *Priority:* P0

- **[CNV-73500]** — As a VM owner, I want to migrate storage for offline VMs with hotplug disk
- *Test Scenario:* [Tier 2] Verify storage migration completes successfully for offline VM with hotplug disk
- *Priority:* P1

- **[CNV-73500]** — As a VM owner, I want to retain or delete the source volume for an offline VM
- *Test Scenario:* [Tier 2] Verify source volume is retained or cleaned up for an offline VM when retentionPolicy is set in the Migration Plan
- *Priority:* P0

- **[CNV-73500]** — As a VM owner, I want an offline VM to still point to the original volume when migration fails
- *Test Scenario:* [Tier 2] Verify an offline VM still points to the original volume when migration fails
- *Priority:* P2

- **[CNV-73500]** — As a VM owner, I want the migration to succeed when starting a stopped VM during migration
- *Test Scenario:* [Tier 2] Verify migration succeeds when starting a VM during the migration process and the VM waits for migration completion before becoming ready
- *Priority:* P2

---

### **IV. Sign-off and Approval**

This Software Test Plan requires approval from the following stakeholders:

* **Reviewers:**
- QE Architect (OCP-V): Ruth Netser (`@rnetser`)
- QE Members (OCP-V): Jenia Peimer (`@jpeimer`), Kate Shvaika (`@kshvaika`), Jose Manuel Castano (`@joscasta`)
* **Approvers:**
- QE Architect (OCP-V): Ruth Netser (`@rnetser`)
- Principal Developer: Alexander Wels (`@awels`)
Loading