Format:
Export:

Prerequisites & cluster preparation(15 of 15)

Keep this order!
⚠️ Cluster introduction

The following tests have been executed on a Single Node OpenShift (SNO) cluster.

The cluster is using: Minio Object Storage, MetalLB, LVM (local disks must be available), and a single NIC (a 2nd IP address is used for the VM network tests).

Some test cases could not be fully executed due to limitation of the SNO cluster or the hardware. They are still documented for reference and marked accordingly.

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.

Important: the internal MinIO Service as installed previously (minio.minio.svc:9000) speaks HTTP only, not HTTPS — TLS is terminated only on the external Route, not on the ClusterIP Service. s3Url must therefore use http://, not https://.

1OpenShift Console → EcosystemSoftware CatalogOperators → search for OADP → install
2Namespace: openshift-adp (operator default — do not change)
3Create Minio bucket for backups (if not present): oadp-backups
mc mb local/oadp-backups --insecure
4Create S3 credentials secret in openshift-adp namespace (Minio access/secret key)
IMPORTANT: Replace ':<update with your own secret key>' with the generated access key and secret key (see PRE-11)
5Create DataProtectionApplication (DPA) CR — with insecureSkipTLSVerify: true
6Include kubevirt plugin in defaultPlugins — required for VM backups
7Wait until DPA status: Reconciled
8Verify BackupStorageLocation: status Availableimportant: 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
Mac: brew install velero
Linux: download matching release from https://github.com/vmware-tanzu/velero/releases (check cluster version, Commands/YAML tab)
Verify: velero version --client-only
11Zero-install alternative (no local CLI): use velero binary inside the running pod — see Commands/YAML tab