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)

VM with three interfaces: masquerade (management/SSH), br-net1 (application data), br-net2 (storage replication). Separation of traffic types as in production environments — on this Hetzner SNO via pure software bridges (Variant A), not real VLANs.

Prerequisites checklist

Confirm these before running steps:

1Re-verify prerequisites: NNCP and NetworkAttachmentDefinitions (NADs) must exist
oc get nncp
→ ONE NNCP named sno-software-bridges must show STATUS=Available (defines br-net1/2/3 together, not three separate NNCPs)
oc get network-attachment-definition -n vmtest
→ net1-bridge, net2-bridge and net3-bridge must be listed (NOT vlan10-bridge/vlan20-bridge — that is Variant B/on-premise)
2Verify SSH key secret — without it login is not possible, as the Fedora containerDisk image has no console password by default
oc get secret vm-ssh-key -n vmtest
→ if missing: create from PRE-07 (ssh-keygen + oc create secret generic vm-ssh-key --from-file=key=...)
3Apply VM manifest — already includes accessCredentials with the SSH key from vm-ssh-key
4Wait for VM start until Phase Running is reached
oc get vmi multi-nic-vm -n vmtest -w
→ PHASE: Scheduling → Scheduled → Running (typically under 60 seconds)
5Brief wait for key propagation — cloud-init must boot and set the SELinux boolean before qemu-guest-agent accepts the SSH key
sleep 30
6Log in via SSH
virtctl ssh fedora@vm/multi-nic-vm -n vmtest -i ~/.ssh/ocp-vm-key
7List all three interfaces and verify initial state
ip addr (while in SSH session)
→ enp1s0 already has an IP (10.0.2.x, from masquerade)
→ enp2s0/enp3s0 are UP but without IP
8Assign static IPs on enp2s0 and enp3s0 (these networks have no DHCP server)
sudo ip addr add 192.168.10.50/24 dev enp2s0
sudo ip addr add 192.168.20.50/24 dev enp3s0
sudo ip link set enp2s0 up
sudo ip link set enp3s0 up
9Verify configuration — all three interfaces must now show an IP
ip addr
→ enp1s0: 10.0.2.x
→ enp2s0: 192.168.10.50/24
→ enp3s0: 192.168.20.50/24
10Traffic separation is already structurally given by the static IPs on separate, isolated bridges (no cross-traffic between br-net1/br-net2 possible, see TC-VLAN-001)
11Optional, for deeper proof at packet level: tcpdump on the node — RHCOS has NO tcpdump in the host image (deliberately minimal), toolbox container is required
NODE=$(oc get node -o name)
oc debug $NODE
In the debug pod: chroot /host
Then: toolbox
→ first start pulls a RHEL tools container image (registry.redhat.io/rhel9/support-tools), takes 30–60s
In the toolbox container: tcpdump -i br-net1 -c 5 -n
→ shows only traffic from enp2s0 (br-net1); repeat the same command with -i br-net2 for comparison
→ shows only enp3s0 traffic
12Finally, confirm SSH access again via the management path (enp1s0/masquerade)
virtctl ssh fedora@vm/multi-nic-vm -n vmtest -i ~/.ssh/ocp-vm-key
→ SSH works independently of enp2s0/enp3s0 status — management path is decoupled from data traffic
13Clean up (optional, if created only for testing)
oc delete vm multi-nic-vm -n vmtest
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.

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