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
301 changes: 301 additions & 0 deletions stps/sig-network/hotpluggable-nad-ref.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,301 @@
# Openshift-virtualization-tests Test plan

## **Live Update NetworkAttachmentDefinition Reference - Quality Engineering Plan**

### **Metadata & Tracking**

- **Enhancement(s):** https://github.com/kubevirt/enhancements/blob/main/veps/sig-network/hotpluggable-nad-ref.md
- **Feature Tracking:** https://issues.redhat.com/browse/VIRTSTRAT-560
- **Epic Tracking:** https://redhat.atlassian.net/browse/CNV-72329
- **QE Owner(s):** Asia Khromov (@azhivovk)
- **Owning SIG:** sig-network
- **Participating SIGs:** sig-network

**Document Conventions (if applicable):**
- NAD = NetworkAttachmentDefinition, a Multus secondary network definition
- DNC = Dynamic Networks Controller (Multus dynamic networks controller)

### **Feature Overview**

This feature enables VM owners to change the secondary network of a running VM without rebooting. When the user updates the network reference in the VM configuration, the VM is reconnected to the new network (e.g. a different VLAN) without requiring a restart (but rather seamlessly migrating the VM), preserving guest interface identity.

The supported scope is bridge binding on live-migratable VMs.
Comment thread
azhivovk marked this conversation as resolved.

---

### **I. Motivation and Requirements Review (QE Review Guidelines)**

#### **1. Requirement & User Story Review Checklist**

- [x] **Review Requirements**
- *List the key D/S requirements reviewed:* Change bridge binding NAD reference on a running VM without requiring a restart; the VM should reconnect to the new network seamlessly.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

; the VM should reconnect to the new network seamlessly.

If you change the network, what does this sentence mean exactly?


- [x] **Understand Value and Customer Use Cases**
- *Describe the feature's value to customers:* VM owners can re-assign new networks (e.g. a different VLAN) to VMs without reboot, avoiding workload impact and preserving guest interface identity (e.g. MAC).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

preserving guest interface identity (e.g. MAC)

I do not fully understand that, because the need is to never unplug it, not about keeping identity. In practice, I can unplug and plug back an interface and preserve its identity (that is the spec definition).

- *List the customer use cases identified:*
- As a VM owner, I want to re-assign my VM to a different VLAN without rebooting so that my VM connects to the new network without requiring a restart.

- [x] **Testability**
- *Note any requirements that are unclear or untestable:* Core flow is testable (see III. Test Scenarios & Traceability).

- [x] **Acceptance Criteria**
- *List the acceptance criteria:*
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please consider indicating the NAD reference update includes a change of VLAN. The reason for this comment is that a NAD is a technical entity whereas the VLAN change is what the customer is requiring to perform. Therefore just indicating that a NAD swap had succeeded does not indicate that the feature is working.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added, thanks

- The VM remains running (not rebooted) after changing the secondary network (e.g. VLAN change)
- The VM establishes connectivity on the new secondary network (new VLAN)
- The VM no longer has connectivity on the previous secondary network (previous VLAN)
- The guest interface identity (e.g. MAC address) is preserved
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We can preserve identity but still fail: Unplug and plug again.
If you want to define a criteria, then I guess something like this is more accurate:

The guest interface and its (IP) configuration is preserved during the transition.

- *Note any gaps or missing criteria:* None
Comment thread
coderabbitai[bot] marked this conversation as resolved.

- [x] **Non-Functional Requirements (NFRs)**
- *List applicable NFRs and their targets:* Documentation update required.
- *Note any NFRs not covered and why:*
- Performance: no new performance requirements introduced.
- Security: no new RBAC or authentication changes.
- Monitoring/Observability: no new metrics or alerts required.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Will the reporting be updated automatically when moving between NADs? I remember that this information is collected.

- Scalability: no new scale requirements.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I actually think this is effected, due to the mechanism the feature is using.
The use of live-migration has scale implications due to the limits imposed on the cluster level (on the amount of VMs allowed to perform live migration in parallel). Changes in large scale, will require time to stabilize and complete.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good point, how do we test it? Do we add this kind of test or other team?

- UI: no UI changes introduced by this feature.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Yes, as of now. i will talk to the UI team to get their opinions.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@frenzyfriday
Do you mean that the NAD field is currently editable in a running VM? Does the user have to edit the yaml through GUI? Does it work?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The STP author and feature lead needs to evaluate this from a customer perspective.
If you think it is not needed, then reason for it. Mentioning that no UI changes are introduced is not saying that it is not needed.

While discussing this with the UI team is nice, it does not answer the basic question: Is it needed from a customer perspective?
Usually such questions are answered by stakeholders, like the PM and/or UX.


#### **2. Known Limitations**

- **Non-migratable VMs:** Changing the secondary network on non-migratable VMs is not supported; the VM will not reconnect to the new network without a restart.
- *Sign-off:* Ronen Sde-Or, 04/2026

- **Binding support:** Secondary network reassignment is supported for bridge binding only; other binding types are not in scope for this feature.
- *Sign-off:* Ronen Sde-Or, 04/2026

- **Guest network config:** Feature does not change guest-side configuration; guest may need separate reconfiguration for new network (e.g. IP).
- *Sign-off:* Ronen Sde-Or, 04/2026

- **Single-node clusters (SNO):** Cannot be supported because migration is not possible.
- *Sign-off:* Ronen Sde-Or, 04/2026

- **Migrating between CNI types:** Explicit non-goal.
- *Sign-off:* Ronen Sde-Or, 04/2026

- **Changing network binding/plugin:** Explicit non-goal.
- *Sign-off:* Ronen Sde-Or, 04/2026

- **Seamless network connectivity until action is completed:** Not guaranteed by design.
- *Sign-off:* Ronen Sde-Or, 04/2026

- **No limitation of migration retries because of missing Network Attachment Definition:** Explicit non-goal.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why is this limited to missing NAD? Many reasons could exist for a migration failure.

Have you really convinced the PM that this is acceptable? Very odd.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

These limitations were accepted by Ronen on the previous version of the STP #39 (comment)

- *Sign-off:* Ronen Sde-Or, 04/2026
Comment thread
azhivovk marked this conversation as resolved.


#### **3. Technology and Design Review**

- [x] **Developer Handoff/QE Kickoff**
- *Key takeaways and concerns:* Meeting where Dev introduced QE through NAD change in VM, migration condition handling, and compatibility with DNC.

- [x] **Technology Challenges**
- *List identified challenges:* The feature relies on live migration, which is not supported on all cluster topologies (e.g. single-node clusters), limiting the environments in which this feature can be tested.
- *Impact on testing approach:* Tests must run on multi-node clusters where live migration is available.

- [x] **API Extensions**
- *List new or modified APIs:* No new APIs introduced by this feature.
- *Testing impact:* N/A

- [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:* No known limitations when considering different topologies.
- *Impact on test design:* No specific impact on test design beyond standard live migration requirements.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

### **II. Software Test Plan (STP)**

#### **1. Scope of Testing**

**Testing Goals**
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Negative scenarios have not been covered per what I see, although they have been raised as limitations.
E.g. a non migratable VM scenario.


- **[P0]** Verify that a running VM with bridge binding can be reconnected to a different secondary network without rebooting, has connectivity on the new network, and is no longer reachable on the previous network.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is not defined in an actionable manner. While the binding is defined, the CNI used is not.
The next line does mention indirectly the CNI and its configuration (localnet), which is fine.

- **[P1]** Verify that a running VM connected to a localnet secondary network can be reconnected to a different localnet network without rebooting and has connectivity on the new network.
- **[P1]** Verify that multiple secondary networks on the same running VM can each be independently updated and remain reachable.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

If you add something like this, it only makes sense to me that you check it works if you change multiple networks at once. Independently is vague and can be part of the prev scenarios (not that you need to mention it).

- **[P2]** Verify that a VM can be successfully live-migrated (user-triggered) after completing a NAD reference update, and maintains connectivity on the new network.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I do not see why this is needed.
Also, there is no such thing as user-triggered. Only cluster-admin triggered, which does not sound relevant.
Please elaborate why this scenario is required.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The main concern: does the feature's internal migration leave the VM in a clean state for subsequent admin-triggered migrations?

- **[P2]** Verify that a VM with an updated secondary network reference maintains connectivity on the new network after cluster upgrade.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Same, I see no logic for this scenario.
Once the configuration has been updated and it reached a stable state (i.e. it changed the network), the system does not know to differentiate anymore between a new VM created on the new network or an older VM that was changed to the new network.


**Out of Scope (Testing Scope Exclusions)**

None — reviewed and confirmed that all supported product functionality will be tested this cycle.

**Test Limitations**

None — reviewed and confirmed that no test limitations apply for this release.

#### **2. Test Strategy**

**Functional**

- [x] **Functional Testing** — Validates that the feature works according to specified requirements and user stories
- *Details:* Validate NAD reference update on running VMs with bridge binding; verify connectivity on new network and absence of connectivity on previous network.

- [x] **Automation Testing** — Confirms test automation plan is in place for CI and regression coverage (all tests are expected to be automated)
- *Details:* All new test scenarios will be automated and integrated into the standard CI lane.

- [x] **Regression Testing** — Verifies that new changes do not break existing functionality
- *Details:* Existing secondary network and live migration test suites will run as regression to confirm no impact.

**Non-Functional**

- [ ] **Performance Testing** — Validates feature performance meets requirements (latency, throughput, resource usage)
- *Details:* Not applicable; no new performance requirements introduced for this feature.

- [ ] **Scale Testing** — Validates feature behavior under increased load and at production-like scale
- *Details:* Not applicable; no new scale requirements introduced for this feature.

- [ ] **Security Testing** — Verifies security requirements, RBAC, authentication, authorization
- *Details:* Not applicable; no new RBAC or authentication changes introduced.

- [ ] **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)
Copy link
Copy Markdown

@frenzyfriday frenzyfriday Apr 16, 2026

Choose a reason for hiding this comment

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

[not a review comment - just an fyi]: The only way right now to know that the NAD hotplug completed is to monitor the conditions (like migrationRequired appears, then disappears, GAConnected reappears). So the UX might not be very smooth.

- *Details:* Not applicable; no UI or CLI changes introduced by this feature.

- [ ] **Monitoring** — Does the feature require metrics and/or alerts?
- *Details:* Not applicable; no new metrics or alerts required.

**Integration & Compatibility**

- [ ] **Compatibility Testing** — Ensures feature works across supported platforms, versions, and configurations
- Does the feature maintain backward compatibility with previous API versions and configurations?
- *Details:* Not applicable; no new API versions or configurations introduced.

- [x] **Upgrade Testing** — Validates upgrade paths from previous versions, data migration, and configuration preservation
- *Details:* Verify that VMs with updated NAD references retain their network configuration and connectivity after cluster upgrade.

- [ ] **Dependencies** — Blocked by deliverables from other components/products. Identify what we need from other teams before we can test.
- *Details:* Not applicable; no blocking external dependencies identified.

- [ ] **Cross Integrations** — Does the feature affect other features or require testing by other teams? Identify the impact we cause.
- *Details:* Not applicable; no impact on other features or teams identified.

**Infrastructure**

- [ ] **Cloud Testing** — Does the feature require multi-cloud platform testing?
- *Details:* Not applicable; feature requires bare-metal cluster with live migration support.

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

If the feature is limited only to bridge-binding, as specified in the "Test Coverage" section below, then I think that multi-NIC nodes should also be mentioned here as a test environment requirement.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I mentioned it in
- **Network:** OVN-Kubernetes, IPv4, IPv6, secondary bridge network

Do I need to mention it in more places? Cluster topology maybe?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

My opinion is that you should explicitly mention that multi NIC nodes are required, either in network or cluster topology.
However, maybe you think that this mention is clear and enough, and in that case - I won't insist.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added to Cluster Topology

- **Cluster Topology:** 3-master/3-worker cluster (minimum 2 workers), multi-NIC nodes

- **OCP & OpenShift Virtualization Version(s):** OCP 4.22 with OpenShift Virtualization version 4.22

- **CPU Virtualization:** VT-x (Intel) or AMD-V enabled or ARM

- **Compute Resources:** Minimum per worker node: 8 vCPUs, 32GB RAM

- **Special Hardware:** N/A

- **Storage:** ocs-storagecluster-ceph-rbd-virtualization

- **Network:** OVN-Kubernetes, IPv4, IPv6, secondary bridge network, localnet

- **Required Operators:** NMState Operator (for bridge interface configuration)

- **Platform:** Agnostic
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Apr 16, 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: Platform field must specify explicit platform, not "Agnostic".

Line 196 states "Platform: Agnostic" which violates the coding guideline requirement that "platform must be specified (Bare metal, AWS, etc.)". Additionally, this conflicts with line 176 in the Cloud Testing section, which states the "feature requires bare-metal cluster with live migration support."

If the feature requires bare-metal for live migration support, specify "Bare metal". If testing will occur on multiple specific platforms, list them (e.g., "Bare metal, AWS"). The guideline does not permit "Agnostic" as a platform value—explicit specification is mandatory.

🔧 Proposed fix
-- **Platform:** Agnostic
+- **Platform:** Bare metal

As per coding guidelines: "STP Section II.3 Test Environment: Storage class must be specified (not generic) and platform must be specified (Bare metal, AWS, etc.)"

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Platform:** Agnostic
- **Platform:** Bare metal
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@stps/sig-network/hotpluggable-nad-ref.md` at line 196, The document currently
uses the literal "Platform: Agnostic" which violates the guideline requiring an
explicit platform and conflicts with the Cloud Testing section that states
live-migration needs bare-metal; update the Platform field (replace "Platform:
Agnostic") to a concrete value that matches testing requirements (e.g.,
"Platform: Bare metal" if only bare-metal is required, or list multiple explicit
platforms like "Bare metal, AWS" if testing spans environments) and ensure this
value aligns with the Cloud Testing section's live-migration requirement.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We could run these tests on any cluster plastform, not only bare metal

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@azhivovk, understood — live migration support is not exclusive to bare metal and these tests can indeed run on cloud platforms too. However, per the STP guideline, the Platform field must still be populated explicitly (e.g., "Bare metal, AWS") rather than "Agnostic".

Two things to address:

  1. Platform field — Instead of "Agnostic", please list the actual platforms where the tests will be executed in CI. For example:

    - **Platform:** Bare metal, AWS
    

    (or whichever platforms your CI lanes cover)

  2. Cloud Testing section — The current text says "feature requires bare-metal cluster with live migration support", which appears inconsistent with your clarification. This should be updated to reflect that the feature is platform-agnostic (as long as live migration is available). For example:

    - [ ] **Cloud Testing** — Does the feature require multi-cloud platform testing?
      - *Details:* Not applicable; no specific cloud platform is required. Tests can run on any platform supporting live migration.
    

✏️ Learnings added
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:45.800Z
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.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
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: 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: 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: 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: 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: 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.

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: 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: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.3 Test Environment: All fields must be filled or marked N/A (no empty fields) — OCP and OpenShift Virtualization versions must be explicit

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section I.3 Technology and Design Review: Topology Considerations must specify cluster requirements and testing impact — not internal resource creation

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.3 Test Environment: Storage class must be specified (not generic) and platform must be specified (Bare metal, AWS, etc.)

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 the openshift-virtualization-tests-design-docs repository (stps/sig-storage/storage_mig_offline.md, PR `#76`), "PSI" refers to Red Hat's internal Provider/Project Server Infrastructure — an OpenStack-based virtualized cloud used for QE testing. It is an accepted and recognized platform designation within this team's STP documents. When PSI is used as the Platform value, reviewers should check that the "Cluster Topology" field is consistent (PSI typically hosts VMs, not bare-metal nodes, so "bare-metal" in Cluster Topology may be incorrect unless explicitly confirmed).

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.1 Testing Goals: Must distinguish between new functional tests and regression tests — regression tests in Testing Goals identify which SIG test suites run on the feature cluster

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.2 Test Strategy: Monitoring must explicitly state whether alerts/metrics are required; Upgrade Testing must confirm upgrade path was evaluated; Performance/Scale must document consideration and plans even if deferred

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


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

- [x] **Risk:** None identified.
- **Mitigation:** N/A
- *Estimated impact on schedule:* N/A
- *Sign-off:* Ronen Sde-Or, 04/2026

**Test Coverage**

- [x] **Risk:** Coverage is limited to bridge binding only; other binding types are not tested.
- **Mitigation:** Accepted per feature scope - bridge binding is the only supported binding type for this feature.
- *Areas with reduced coverage:* Other network binding types.
- *Sign-off:* Ronen Sde-Or, 04/2026

**Test Environment**

- [x] **Risk:** None identified. Cluster topology requirements are documented in Section II.3.
- **Mitigation:** N/A
- *Missing resources or infrastructure:* None
- *Sign-off:* Ronen Sde-Or, 04/2026

**Untestable Aspects**

- [x] **Risk:** None identified — all components are testable. Connection continuity during the swap is a non-goal by design and is documented in Known Limitations (Section I.2).
- **Mitigation:** N/A
- *Alternative validation approach:* N/A
- *Sign-off:* Ronen Sde-Or, 04/2026

**Resource Constraints**

- [x] **Risk:** No special resource requirements.
- **Mitigation:** N/A
- *Current capacity gaps:* None
- *Sign-off:* Ronen Sde-Or, 04/2026

**Dependencies**

- [x] **Risk:** No blocking external dependencies identified.
- **Mitigation:** N/A
- *Dependent teams or components:* None
- *Sign-off:* Ronen Sde-Or, 04/2026

**Other**

- [x] **Risk:** None identified.
- **Mitigation:** N/A
- *Sign-off:* Ronen Sde-Or, 04/2026

---

### **III. Test Scenarios & Traceability**
Comment thread
azhivovk marked this conversation as resolved.

- **[VIRTSTRAT-560]** — As a VM owner, I want to change my VM's VLAN without rebooting so that my workload remains available during network reconfiguration.
- *Test Scenario:* [Tier 2] Verify that a running VM with bridge binding (OVN-Kubernetes) remains running after a VLAN change, establishes connectivity on the new VLAN, and is no longer reachable on the previous VLAN.
- *Priority:* P0

- **[VIRTSTRAT-560]** — As a VM owner, I want to re-assign my VM connected to a localnet secondary network to a different network without rebooting.
- *Test Scenario:* [Tier 2] Verify that a running VM connected to a localnet secondary network can be reconnected to a different localnet network (e.g. different VLAN) without rebooting and has connectivity on the new network.
- *Priority:* P1

- **[VIRTSTRAT-560]** — As a VM owner, I want to update multiple secondary networks on the same running VM and have connectivity on all of them.
- *Test Scenario:* [Tier 2] Verify that multiple secondary networks on the same running VM can each be independently updated to different NADs and remain reachable.
- *Priority:* P1

- **[VIRTSTRAT-560]** — As a VM owner, I want my VM to be live-migratable (user-triggered) after a NAD reference update.
- *Test Scenario:* [Tier 2] Verify that a VM can be successfully live-migrated (user-triggered) after completing a secondary network reassignment, and maintains connectivity on the new network.
- *Priority:* P2

- **[VIRTSTRAT-560]** — As a VM owner, I want my VM to remain connected to its updated secondary network after a cluster upgrade.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The implementation did not add a breaking change. So is the cluster upgrade test necessary still?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

To me it sounds like a scenario we should test, but maybe I'm wrong
@EdDev WDYT?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I commented about it in the testing goals. I do not see any reason to have this, but if you can explain how things can get wrong, please fight for it.

- *Test Scenario:* [Tier 2] Pre-upgrade: update the secondary network reference on a running VM and verify connectivity on the new network. Post-upgrade: verify the VM is still connected to the new network and has connectivity.
- *Priority:* P2

---

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

This Software Test Plan requires approval from the following stakeholders:

* **Reviewers:**
- Leading Dev: Ananya Banerjee (@frenzyfriday)
- QE Architect: Ruth Netser (@rnetser)
* **Approvers:**
- QE Architect: Ruth Netser (@rnetser)
- Principal Developer: Edward Haas (@EdDev)
- Product Manager/Owner: Ronen Sde-Or (@ronensdeor)
Loading