Masquerade uses OVN-K over eno2/br-ex — no bridge setup required
Test cases(24 of 50)
Complete prerequisites first ([PRE-01](PRE-01) → [PRE-08](PRE-08) minimum) before running these tests. Go to prerequisites
NOT POSSIBLE on SNO — live migration requires ≥2 nodes. Documented as an expected failure.
Test on local storage
Optimal for single-NIC — OVN-K over eno2/br-ex, no bridge setup required
✗ 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.
✗ 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.
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.
purely internal software bridges br-net1/br-net2 (port: []) — no VM MAC leaves the node
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.
2 Pools: internal-pool binds to br-net1 — external-pool binds to eno2, requires a 2nd public IP
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
⚠️ 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.
L2Advertisement explicitly binds to br-net1/br-net2 — ARP announcements stay node-internal.
Variant A (Hetzner, this SNO): LB IPs are announced per software bridge (br-net1/br-net2), not on eno2.
Variant B (on-prem with real VLAN trunk) would be analogous via eno2.10/eno2.20.
Confirm these before running steps:
1Check whether vm-net1-a/vm-net1-b/vm-net2-c still exist (e.g. from TC-VLAN-001) — if TC-VLAN-001 cleanup was run, they do NOT exist anymore
oc get vmi vm-net1-a vm-net1-b vm-net2-c -n vmtest3Verify the pools are created
oc get ipaddresspool -n metallb-system4Verify L2Advertisement per pool — binds the pool to the correct bridge interface
oc get l2advertisement -n metallb-system -o yaml6Verify the service is created
watch oc get svc vm-net1-lb -n vmtest7Verify ARP visibility on the correct bridge interface — RHCOS has NO tcpdump in the host image, toolbox is required
NODE=$(oc get node -o name)oc project vmtest; oc debug $NODEchroot /host, then: toolbox (first start pulls image, 30–60s)tcpdump -i br-net1 -e -c 5 arp8In a second terminal: from vm-net1-b (same bridge), access the LB IP
virtctl ssh fedora@vm/vm-net1-b -n vmtest -i $HOME/.ssh/ocp-vm-keync -zv 192.168.10.200 229Check VM in vm-net2-c (other bridge)
virtctl ssh fedora@vm/vm-net2-c -n vmtest -i $HOME/.ssh/ocp-vm-keync -zv 192.168.10.200 2211Retest from vm-net1-b (same bridge), access the LB IP
virtctl ssh fedora@vm/vm-net1-b -n vmtest -i $HOME/.ssh/ocp-vm-keync -zv 192.168.10.200 2212Check VM in vm-net2-c (other bridge)
virtctl ssh fedora@vm/vm-net2-c -n vmtest -i $HOME/.ssh/ocp-vm-keync -zv 192.168.10.200 2213Clean up everything
oc delete svc vm-net1-lb -n vmtestoc delete ipaddresspool net1-pool -n metallb-systemoc delete ipaddresspool net2-pool -n metallb-systemoc delete l2advertisement l2-net1 -n metallb-systemoc delete l2advertisement l2-net2 -n metallb-systemoc delete networkpolicy allow-only-vm-net1-b -n vmtestoc delete vm vm-net1-a vm-net1-b vm-net2-c -n vmtestSingle-NIC OK — HyperShift pods use the OVN-K pod network.
⚠️ Check Pod/Node Capacity before starting TC-HCP-002 — see steps below.
⚠️ SNO EXAMPLE INSTALLATION: --control-plane-availability-policy SingleReplica is mandatory on a single-node cluster.
⚠️ Be sure enough compute resources are available on the SNO node before starting this test.
Import over OVN-K — bandwidth is shared with OCP traffic on eno2/br-ex in this cluster