Clarify network topology — I.e. software bridges (variant A)
Prerequisites & cluster preparation(15 of 26)
Verified on SNO (single NIC). Some related tests may be marked not runnable.
Install and verify NMState Operator
Configure Linux bridges via NMState (Hetzner: variant A — software bridges)
Install OpenShift Virtualization Operator
Set up LVM Storage Operator — storage for VMs
Pull secret, import golden image, prepare SSH keys
Create namespace vmtest and NetworkAttachmentDefinitions
Install MetalLB Operator and configure IP pools (3 options)
MCE + HyperShift for hosted control planes
Deploy MinIO (S3 object storage)
Install MTV (Migration Toolkit for Virtualization) Operator
Install OADP Operator and configure with MinIO (S3)
OADP (OpenShift API for Data Protection) is based on Velero and enables VM backup/restore via the KubeVirt plugin. This is the OpenShift-native way to back up or restore resources in the cluster. It does not provide a UI, but it is subscription-free and usable without a separate licence. The MinIO instance from PRE-11 is used as the S3 backend.
1OpenShift Console → Ecosystem → Software Catalog → Operators → search for
OADP → install2Namespace:
openshift-adp (operator default — do not change)3Create MinIO bucket for backups (if not present): oadp-backups
mc mb local/oadp-backups --insecure4Create S3 credentials secret in openshift-adp namespace (MinIO access/secret key)
5Create DataProtectionApplication (DPA) CR — with
insecureSkipTLSVerify: true6Include
kubevirt plugin in defaultPlugins — required for VM backups7Wait until DPA status: Reconciled
8Verify BackupStorageLocation: status Available — important: object name is
<dpa-name>-1 (e.g. dpa-minio-1), not the DPA name itself — note this for later Backup CRs (storageLocation)9Verify VolumeSnapshotClass for CSI snapshots (already created in PRE-06)
10Install velero CLI locally — for clearer backup/restore diagnosis (describe/logs) than raw oc log greps. No ConsoleCLIDownload/Route (unlike hcp) — official path is GitHub Releases or Homebrew
macOS:
brew install veleroLinux: download matching release from https://github.com/vmware-tanzu/velero/releases (check cluster version, Commands/YAML tab)
Verify:
velero version --client-only11Zero-install alternative (no local CLI): use
velero binary inside the running pod — see Commands/YAML tabInstall Advanced Cluster Management (ACM) v2.17
Install Kasten K10 (Veeam) Operator and configure with MinIO