Format:
Export:

Test cases(24 of 50)

Show
Priority
Category
0/24 completed0%

Complete prerequisites first ([PRE-01](PRE-01) → [PRE-08](PRE-08) minimum) before running these tests. Go to prerequisites

Verify golden image import and PVC clone
Create and boot first VM from template (RHEL 9)

Masquerade uses OVN-K over eno2/br-ex — no bridge setup required

VM live migration (SNO: expected failure)

NOT POSSIBLE on SNO — live migration requires ≥2 nodes. Documented as an expected failure.

Create VM snapshots and perform restore

Test on local storage

Clone VM and use as template (Golden VM pattern)
Pod network (masquerade) and VM access via Service

Optimal for single-NIC — OVN-K over eno2/br-ex, no bridge setup required

VM directly reachable on LAN (OVN-K localnet) -- ⚠ HETZNER TOS VIOLATION

✗ NOT TESTABLE ON HETZNER -- TOS violation! OVN-K localnet works technically (verified 30.06.2026: ping successful), but any VM MAC that reaches eno2/the physical switch via this interface is detected and reported by Hetzner as an unauthorised MAC (server suspension threatened). Only the registered server MAC is permitted.

SR-IOV – high-performance networking (HW missing)

✗ NOT TESTABLE — SR-IOV requires a dedicated second NIC (Intel X710, Mellanox ConnectX). The sole NIC eno2 is consumed by OVN-K and cannot be used for SR-IOV VFs.

Test VLAN isolation — VMs in separate software bridges

Variant A uses pure software bridges br-net1/2/3 (port: []) — no VM MAC leaves eno2/the physical switch, no TOS risk. Variant B (on-premises, trunk port) is relevant only with your own switch.

Inter-VLAN routing via router VM (br-net1 ↔ br-net2)

purely internal software bridges br-net1/br-net2 (port: []) — no VM MAC leaves the node

VM with 3 Network Interfaces (Management + Data + Storage)
OVN-Kubernetes UserDefinedNetwork (Layer2 Overlay)

UserDefinedNetwork with Layer2 topology is a pure overlay (encapsulated Geneve tunnel within OVN-K) — explicitly NOT localnet, so no VM MAC leaves the node.

⚠️ DEDICATED NAMESPACE REQUIRED: see NOTE below.

Modern approach without Linux bridge: OVN creates a Layer2 overlay network directly in the software stack. No VLAN on the switch required, no bridge setup on the node.

Feature available in OCP 4.14+.

The Namespace vmtest does not have this label and must never receive it: if set later, EVERY pod/VM in vmtest would be blocked until a primary UDN exists there — that would break all other test cases that use vmtest normally with the default network.

Therefore this test case gets its own dedicated namespace (vmtest-udn-primary), which exists only for the Primary UDN test.

Prerequisites checklist

Confirm these before running steps:

1Create dedicated namespace WITH label — the label must be included in the same oc apply call as namespace creation, otherwise it does not take effect per documentation (full block in the Commands / YAML tab)
2→ Copy the complete 'Namespace block' from the Commands / YAML tab and paste into the terminal.
3Verify label
oc get ns vmtest-udn-primary --show-labels
→ k8s.ovn.org/primary-user-defined-network must appear in the label list
4Apply UserDefinedNetwork (UDN) CR in the new namespace (block in the Commands / YAML tab)
5→ Copy the complete 'UDN block' from the Commands / YAML tab and paste into the terminal.
6Check UDN status
oc get userdefinednetwork udn-vm-net -n vmtest-udn-primary
7Create first VM (VM block in the Commands / YAML tab) — binding to UDN is automatic via namespace label; IMPORTANT: interfaces.binding.name must be l2bridge (NOT masquerade — otherwise the VM silently lands in normal pod networking instead of the UDN)
8Create second VM (vm-udn-2, same namespace, same l2bridge binding)
Paste the same block again, only change 'name: vm-udn-1' to 'name: vm-udn-2'
9Wait until the VMs are Running
watch oc get vmi vm-udn-1 vm-udn-2 -n vmtest-udn-primary
10Brief wait until cloud-init has completed and set the password
sleep 30
11Log in via console on vm-udn-1 — works independently of the network tunnel mechanism, as it is purely serial (no SSH/port-forward involved)
virtctl console vm-udn-1 -n vmtest-udn-primary
Login: fedora / fedora
ip addr # → interface with IP from 10.200.0.0/16, note IP
Leave console: Ctrl+]
12Similarly log in on vm-udn-2 and note IP
virtctl console vm-udn-2 -n vmtest-udn-primary
Login: fedora / fedora
ip addr
Leave console: Ctrl+]
13Test communication between the two VMs in the UDN (re-open console session on vm-udn-1)
virtctl console vm-udn-1 -n vmtest-udn-primary
ping <ip-of-vm-udn-2>
→ successful reply = Layer2 overlay works without bridge setup on the node
14For verification: no additional bridge interface required on the node (difference from TC-MULTUS-001)
NODE=$(oc get node -o name)
oc debug $NODE -- chroot /host ip link show | grep -i br-net
→ no additional bridge visible for UDN traffic; everything runs as OVN-K Geneve overlay
15Clean up: default — delete entire namespace (removes VM + UDN in one step)
oc delete namespace vmtest-udn-primary
16Exception: if the UDN is still needed for later tests, delete ONLY the VMs and keep namespace + UDN
oc delete vm vm-udn-1 vm-udn-2 -n vmtest-udn-primary
Verify MetalLB Basic Functionality

2 Pools: internal-pool binds to br-net1 — external-pool binds to eno2, requires a 2nd public IP

Expose VM Services via MetalLB (SSH)

external-pool uses a provider-registered additional IP (e.g. Hetzner Additional IP); MetalLB speaker announces with the node's own MAC.

⚠️ SHARED RESOURCE: external-pool currently has only ONE IP — Clean up after this test (delete vm-ssh-lb) before starting TC-HCP-002

MetalLB BGP Mode with Router Peering

⚠️ NOT usable by default on the current SNO cluster: there is no customer-controlled router in the path for peering. Left for documentation purposes and future tests.

Multiple IP Pools and Namespace Isolation
MetalLB + Isolated Software Bridges: LB IPs per Bridge Interface

L2Advertisement explicitly binds to br-net1/br-net2 — ARP announcements stay node-internal.

Verify HyperShift Operator and MCE

Single-NIC OK — HyperShift pods use the OVN-K pod network.

⚠️ Check Pod/Node Capacity before starting TC-HCP-002 — see steps below.

Create Hosted Cluster with KubeVirt provider

⚠️ SNO EXAMPLE INSTALLATION: --control-plane-availability-policy SingleReplica is mandatory on a single-node cluster.

Scale NodePool and change VM flavour

⚠️ Be sure enough compute resources are available on the SNO node before starting this test.

Remove Hosted Cluster cleanly (destroy)
DataVolume import from multiple sources

Import over OVN-K — bandwidth is shared with OCP traffic on eno2/br-ex in this cluster

Create VM backup with OADP
Restore VM from OADP backup

Search test plan

Type at least 2 characters to search

Keyboard shortcuts

P
Go to prerequisites
T
Go to test cases
G
Go to glossary
D
Go to diagrams
J
Next card
K
Previous card
Enter
Open / close focused card
/
Open search
CtrlK
Open search modal
?
Show shortcuts
Esc
Close panel / blur search
/ open searchJ/K next / previous card? keyboard shortcutsEsc close panels