Format:
Export:

Glossary & concepts

Concepts

Short explanations of concepts used across the test plans — networking, storage, secrets management, and more — for anyone who does not work with them every day.

macvtap (NOT supported) vs. OVN-K localnet (official path)
macvtap gives a VM its own MAC — but is NOT officially supported in OpenShift Virtualization. The correct approach is OVN-K localnet.
WaitForFirstConsumer (StorageClass binding mode)
A PVC stays deliberately 'Pending' until a pod/VM actually uses it — not an error!
NodeNetworkConfigurationPolicy (NNCP)
Declarative node network configuration via the Kubernetes API — instead of manual nmcli commands.
OVN-Kubernetes & br-ex
OpenShift's default network plugin uses an OVS bridge (br-ex) that takes over the physical NIC.
HCP: does every hosted cluster need its own public IP?
No — only the API server (with the KubeVirt/on-prem provider) needs a dedicated IP or dedicated port. OAuthServer, Konnectivity, and Ignition already share the management cluster's existing Ingress route today.

A hosted cluster exposes four services: APIServer, OAuthServer, Konnectivity, and Ignition. For the last three, official HyperShift documentation states: 'The Route strategy allows you to expose the HostedControlPlane services using the ingress of the Management OpenShift cluster. This strategy is supported by all services but kubeapi-server.' In other words: OAuthServer/Konnectivity/Ignition run on the single existing Ingress route (*.apps.<cluster-domain>) — distinguished by hostname, exactly like any other OpenShift Route. Only the API server is the exception: it uses mutual TLS at the protocol layer, which cannot be multiplexed like an HTTP request by hostname. Therefore it needs its own IP (LoadBalancer/MetalLB) or its own port (NodePort).

✓ ADVANTAGES
  • OAuth/Konnectivity/Ignition do not need additional IP capacity per hosted cluster — does not scale linearly with cluster count
  • Fewer MetalLB pools/additional IPs needed than you might assume at first
  • Route-based services use the Ingress infrastructure you already have
⚠ LIMITATIONS
  • The API server remains the exception — each additional hosted cluster still needs its own external IP or NodePort for it
  • 'Shared Ingress' (one LB IP for ALL API servers via PROXY protocol instead of SNI) exists as a HyperShift feature, but is documented primarily for managed Azure architectures — not the standard path for KubeVirt/on-prem
  • Observed in practice: if the API server is not bound to the correct pool, MetalLB silently falls back to another autoAssign pool (e.g. internal-pool instead of external-pool) — no error, but the IP is then not externally reachable
COMPARISON
APIServer: Requires LoadBalancer (MetalLB) or NodePort — own IP/port per hosted cluster. Route is NOT supported (mutual TLS at protocol level).
OAuthServer / Konnectivity / Ignition: Run via Route on the shared management-cluster Ingress — no dedicated IP; distinguished by hostname.
Shared Ingress (newer feature): One LB IP for all API servers of multiple hosted clusters via PROXY protocol. Currently described mainly for managed Azure, not standard for KubeVirt/on-prem.
📍 WHY IT MATTERS HERE

Directly relevant for TC-HCP-002: in this environment there is only ONE Hetzner additional IP (external-pool). It is required exclusively for the API server of each hosted cluster — for further hosted clusters you need one more additional IP per cluster, but NOT for OAuth/Konnectivity/Ignition, which all share the same Ingress route.

Sealed vs unsealed — why pods stay 0/1 Ready
A sealed OpenBao holds only encrypted data and refuses almost every request — the pod runs but is not Ready. Unsealing reconstructs the barrier key.
KV v2 — versions, soft delete, and check-and-set (CAS)
KV v2 keeps a version history per secret and can require a version number on every write — a write is a whole new version, not a field update.
Kubernetes auth method — SA token in, OpenBao token out
Pods authenticate with their projected ServiceAccount JWT; OpenBao validates it against the kube-apiserver and returns a short-lived token carrying the role's policies.
OpenBao vs Vault — why /vault/ still appears everywhere
OpenBao is the Linux Foundation fork of HashiCorp Vault and keeps API and tooling compatibility — so UI routes, sidecar paths, and third-party integrations still say 'vault'.
Raft integrated storage — leader, quorum, snapshots
OpenBao stores data itself and replicates it with the Raft consensus protocol — no external database, but quorum rules apply.

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