# OADP 1.4 self-service tests ### OADP-633 [OADP-633](https://polarion.engineering.redhat.com/polarion/#/project/OADP/workitem?id=OADP-633) ``` INFO[0029] Found ClusterServiceVersion "openshift-adp/oadp-operator.v1.4.6" phase: Pending INFO[0034] Found ClusterServiceVersion "openshift-adp/oadp-operator.v1.4.6" phase: InstallReady INFO[0035] Found ClusterServiceVersion "openshift-adp/oadp-operator.v1.4.6" phase: Installing INFO[0056] Found ClusterServiceVersion "openshift-adp/oadp-operator.v1.4.6" phase: Succeeded INFO[0056] OLM has successfully installed "oadp-operator.v1.4.6" whayutin@fedora:~/OPENSHIFT/git/OADP/oadp-operator$ git branch foo oadp-dev * wes-oadp-1.4-onboard-nac ``` ``` apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: creationTimestamp: "2025-09-26T16:05:26Z" generation: 1 name: dpa-sample namespace: openshift-adp resourceVersion: "6427680" uid: bda6d98c-b20d-4384-b690-4fd4c6421e92 spec: backupLocations: - velero: config: profile: default region: us-west-2 credential: key: cloud name: cloud-credentials default: true objectStorage: bucket: cvpbucket3uswest2 prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - kubevirt - csi - openshift - aws - hypershift logFormat: text nonAdmin: enable: true snapshotLocations: - velero: config: profile: default region: us-west-2 provider: aws status: conditions: - lastTransitionTime: "2025-09-26T16:05:26Z" message: Reconcile complete reason: Complete status: "True" type: Reconciled ``` ``` oc logs -f pod/non-admin-controller-7545f8bc99-9bh99 2025-09-26T16:05:36.093Z INFO setup LogLevel: info 2025-09-26T16:05:36.140Z INFO setup starting manager 2025-09-26T16:05:36.140Z INFO controller-runtime.metrics Starting metrics server 2025-09-26T16:05:36.140Z INFO starting server {"kind": "health probe", "addr": "[::]:8081"} 2025-09-26T16:05:36.140Z INFO controller-runtime.metrics Serving metrics server {"bindAddress": ":8080", "secure": false} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "source": "kind source: *v1alpha1.NonAdminBackup"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackupsynchronizer", "source": "&{2m0s}"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackupstoragelocation", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackupStorageLocation", "source": "kind source: *v1alpha1.NonAdminBackupStorageLocation"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "source": "kind source: *v1.Backup"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadmindownloadrequest", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminDownloadRequest", "source": "kind source: *v1alpha1.NonAdminDownloadRequest"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "source": "kind source: *v1.Backup"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "source": "kind source: *v1.PodVolumeBackup"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "source": "kind source: *v2alpha1.DataUpload"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadmindownloadrequest", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminDownloadRequest", "source": "kind source: *v1.DownloadRequest"} 2025-09-26T16:05:36.141Z INFO Starting Controller {"controller": "nonadmindownloadrequest", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminDownloadRequest"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore", "source": "kind source: *v1alpha1.NonAdminRestore"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore", "source": "kind source: *v1.Restore"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore", "source": "kind source: *v1.PodVolumeRestore"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore", "source": "kind source: *v2alpha1.DataDownload"} 2025-09-26T16:05:36.141Z INFO Starting Controller {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore"} 2025-09-26T16:05:36.141Z INFO Starting Controller {"controller": "nonadminbackupsynchronizer"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackupstoragelocation", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackupStorageLocation", "source": "kind source: *v1.BackupStorageLocation"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackupstoragelocation", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackupStorageLocation", "source": "kind source: *v1alpha1.NonAdminBackupStorageLocationRequest"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadminbackupstoragelocation", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackupStorageLocation", "source": "kind source: *v1.Secret"} 2025-09-26T16:05:36.141Z INFO Starting Controller {"controller": "nonadminbackupstoragelocation", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackupStorageLocation"} 2025-09-26T16:05:36.141Z INFO Starting EventSource {"controller": "nonadmingarbagecollector", "source": "&{24h0m0s}"} 2025-09-26T16:05:36.141Z INFO Starting Controller {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup"} 2025-09-26T16:05:36.141Z INFO Starting Controller {"controller": "nonadmingarbagecollector"} 2025-09-26T16:05:36.141Z INFO Starting workers {"controller": "nonadminbackupsynchronizer", "worker count": 1} 2025-09-26T16:05:36.141Z INFO Starting workers {"controller": "nonadmingarbagecollector", "worker count": 1} 2025-09-26T16:05:36.246Z INFO Starting workers {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "worker count": 1} 2025-09-26T16:05:36.252Z INFO Starting workers {"controller": "nonadminbackupstoragelocation", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackupStorageLocation", "worker count": 1} 2025-09-26T16:05:36.252Z INFO Starting workers {"controller": "nonadmindownloadrequest", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminDownloadRequest", "worker count": 1} 2025-09-26T16:05:36.252Z INFO Starting workers {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore", "worker count": 1} ``` * can successfully toggle nonadmin on/off ### OADP-635 [OADP-635](https://polarion.engineering.redhat.com/polarion/#/project/OADP/workitem?id=OADP-635) ``` root@fedora:/home/whayutin/OADP/NAC/TEST# cat nabsl.yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackupStorageLocation metadata: name: nacuser1 namespace: nacuser1 spec: backupStorageLocationSpec: config: # checksumAlgorithm: "" # profile: default region: us-west-2 credential: key: cloud name: cloud-credentials objectStorage: bucket: wesoadpnacuser1 prefix: velero provider: aws root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f nabsl.yaml nonadminbackupstoragelocation.oadp.openshift.io/nacuser1 created root@fedora:/home/whayutin/OADP/NAC/TEST# oc get nonadminbackupstoragelocation NAME REQUEST-APPROVED REQUEST-PHASE VELERO-PHASE AGE nacuser1 True Created Available 10s root@fedora:/home/whayutin/OADP/NAC/TEST# ls 3blockcsi default_sc.yaml mysql.yaml nonadminbackup_mysql.yaml backup_nacuser1-1.yaml deploy3csi_nacuser1.yaml nabsl.yaml nonadminrestore_mysql.yaml backup_nacuser1.yaml mysql-template.yaml negative_test NOTES root@fedora:/home/whayutin/OADP/NAC/TEST# vi backup_nacuser1.yaml root@fedora:/home/whayutin/OADP/NAC/TEST# cat backup_nacuser1.yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: name: nacuser1-backup-shouldwork namespace: nacuser1 spec: backupSpec: includedNamespaces: - nacuser1 storageLocation: nacuser1 ttl: 720h0m0s root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f backup_nacuser1.yaml nonadminbackup.oadp.openshift.io/nacuser1-backup-shouldwork created root@fedora:/home/whayutin/OADP/NAC/TEST# oc get nonadminbackups NAME REQUEST-PHASE VELERO-PHASE AGE nacuser1-backup-shouldwork Created Completed 102s root@fedora:/home/whayutin/OADP/NAC/TEST# cp backup_nacuser1.yaml backup_nacuser1_fail.yaml root@fedora:/home/whayutin/OADP/NAC/TEST# vi backup_nacuser1_fail.yaml root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f backup_nacuser1_fail.yaml nonadminbackup.oadp.openshift.io/nacuser1-backup-shouldfail1 created root@fedora:/home/whayutin/OADP/NAC/TEST# oc get nonadminbackups NAME REQUEST-PHASE VELERO-PHASE AGE nacuser1-backup-shouldfail1 BackingOff 24s nacuser1-backup-shouldwork Created Completed 3m10s root@fedora:/home/whayutin/OADP/NAC/TEST# cat backup_nacuser1_fail.yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: name: nacuser1-backup-shouldfail1 namespace: nacuser1 spec: backupSpec: includedNamespaces: - "*" storageLocation: nacuser1 ttl: 720h0m0s ``` ``` 025-09-26T17:02:28.745Z INFO VeleroBackup successfully created {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "NonAdminBackup": {"name":"nacuser1-backup-shouldwork","namespace":"nacuser1"}, "namespace": "nacuser1", "name": "nacuser1-backup-shouldwork", "reconcileID": "53c8e1bb-1409-4bd1-8516-54afad002c2d"} 2025-09-26T17:05:14.425Z ERROR Reconciler error {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "NonAdminBackup": {"name":"nacuser1-backup-shouldfail1","namespace":"nacuser1"}, "namespace": "nacuser1", "name": "nacuser1-backup-shouldfail1", "reconcileID": "43533632-b0b4-471c-8e9e-51f2e027f786", "error": "terminal error: NonAdminBackup spec.backupSpec.includedNamespaces is restricted, can not contain namespaces other than: nacuser1"} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:329 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:266 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:227 ``` ``` apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: creationTimestamp: "2025-09-26T17:05:14Z" generation: 2 name: nacuser1-backup-shouldfail1 namespace: nacuser1 resourceVersion: "6443676" uid: 44e82f90-ad4e-4492-ac9d-2ce41829a18f spec: backupSpec: includedNamespaces: - testnac1 - foo storageLocation: nacuser1 ttl: 720h0m0s status: conditions: - lastTransitionTime: "2025-09-26T17:05:14Z" message: 'NonAdminBackup spec.backupSpec.includedNamespaces is restricted, can not contain namespaces other than: nacuser1' reason: InvalidBackupSpec status: "False" type: Accepted phase: BackingOff ``` * now edit to a real namespace - nacuser1 and it should work ``` apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: creationTimestamp: "2025-09-26T17:05:14Z" finalizers: - nonadminbackup.oadp.openshift.io/finalizer generation: 3 name: nacuser1-backup-shouldfail1 namespace: nacuser1 resourceVersion: "6444203" uid: 44e82f90-ad4e-4492-ac9d-2ce41829a18f spec: backupSpec: includedNamespaces: - nacuser1 storageLocation: nacuser1 ttl: 720h0m0s status: conditions: - lastTransitionTime: "2025-09-26T17:10:00Z" message: backup accepted reason: BackupAccepted status: "True" type: Accepted - lastTransitionTime: "2025-09-26T17:10:00Z" message: Created Velero Backup object reason: BackupScheduled status: "True" type: Queued dataMoverDataUploads: {} fileSystemPodVolumeBackups: {} phase: Created queueInfo: estimatedQueuePosition: 1 veleroBackup: nacuuid: nacuser1-nacuser1-backup-s-6ca9ba9d-5716-45ba-a756-8e90ce8c0a37 name: nacuser1-nacuser1-backup-s-6ca9ba9d-5716-45ba-a756-8e90ce8c0a37 namespace: openshift-adp spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: false excludedResources: - nonadminbackups - nonadminrestores - nonadminbackupstoragelocations - securitycontextconstraints - clusterroles - clusterrolebindings - priorityclasses - customresourcedefinitions - virtualmachineclusterinstancetypes - virtualmachineclusterpreferences hooks: {} includedNamespaces: - nacuser1 itemOperationTimeout: 4h0m0s metadata: {} snapshotMoveData: false storageLocation: nacuser1-nacuser1-643c3fb2-c95e-4fbf-9c92-6a485bae1669 ttl: 720h0m0s volumeSnapshotLocations: - dpa-sample-1 status: backupItemOperationsAttempted: 1 csiVolumeSnapshotsAttempted: 1 expiration: "2025-10-26T17:10:00Z" formatVersion: 1.1.0 hookStatus: {} phase: WaitingForPluginOperations progress: itemsBackedUp: 42 totalItems: 42 startTimestamp: "2025-09-26T17:10:00Z" version: 1 ``` ``` cat backup_nacuser2_fail.yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: name: nacuser1-backup-shouldfail2 namespace: nacuser1 spec: backupSpec: includedNamespaces: - nacuser1 - foo storageLocation: nacuser1 ttl: 720h0m0s ``` ``` 2025-09-26T17:10:00.924Z INFO VeleroBackup successfully created {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "NonAdminBackup": {"name":"nacuser1-backup-shouldfail1","namespace":"nacuser1"}, "namespace": "nacuser1", "name": "nacuser1-backup-shouldfail1", "reconcileID": "8f51c7b7-7858-4e9c-b7e8-b479677a4cd6"} 2025-09-26T17:11:36.680Z ERROR Reconciler error {"controller": "nonadminbackup", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminBackup", "NonAdminBackup": {"name":"nacuser1-backup-shouldfail2","namespace":"nacuser1"}, "namespace": "nacuser1", "name": "nacuser1-backup-shouldfail2", "reconcileID": "7b521439-a993-4dc9-9dec-23a17e44e622", "error": "terminal error: NonAdminBackup spec.backupSpec.includedNamespaces is restricted, can not contain namespaces other than: nacuser1"} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:329 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:266 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:227 ``` ### [OADP-636](https://polarion.engineering.redhat.com/polarion/#/project/OADP/workitem?id=OADP-636) ``` cat nonadminrestore_mysql_fail.yaml kind: NonAdminRestore apiVersion: oadp.openshift.io/v1alpha1 metadata: labels: name: mysql-nonadmin-restore-fail namespace: nacuser1 spec: restoreSpec: backupName: should-fail root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f nonadminrestore_mysql_fail.yaml nonadminrestore.oadp.openshift.io/mysql-nonadmin-restore-fail created root@fedora:/home/whayutin/OADP/NAC/TEST# ``` ``` 2025-09-26T17:14:34.631Z ERROR Reconciler error {"controller": "nonadminrestore", "controllerGroup": "oadp.openshift.io", "controllerKind": "NonAdminRestore", "NonAdminRestore": {"name":"mysql-nonadmin-restore-fail","namespace":"nacuser1"}, "namespace": "nacuser1", "name": "mysql-nonadmin-restore-fail", "reconcileID": "d7cf4df5-3450-4d64-95f4-2329362aead6", "error": "terminal error: NonAdminRestore spec.restoreSpec.backupName is invalid: NonAdminBackup.oadp.openshift.io \"should-fail\" not found"} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:329 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:266 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2 /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:227 ``` ``` oc get nonadminrestores.oadp.openshift.io NAME REQUEST-PHASE VELERO-PHASE AGE mysql-nonadmin-restore-fail BackingOff 36s root@fedora:/home/whayutin/OADP/NAC/TEST# ``` ### [OADP-637](https://polarion.engineering.redhat.com/polarion/#/project/OADP/workitem?id=OADP-637) ``` oc get nonadminbackups nacuser1-backup-shouldwork -o yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: creationTimestamp: "2025-09-26T17:02:28Z" finalizers: - nonadminbackup.oadp.openshift.io/finalizer generation: 1 name: nacuser1-backup-shouldwork namespace: nacuser1 resourceVersion: "6442584" uid: b5816f8b-5d39-4c2f-a70d-21eececa0cbc spec: backupSpec: includedNamespaces: - nacuser1 storageLocation: nacuser1 ttl: 720h0m0s status: conditions: - lastTransitionTime: "2025-09-26T17:02:28Z" message: backup accepted reason: BackupAccepted status: "True" type: Accepted - lastTransitionTime: "2025-09-26T17:02:28Z" message: Created Velero Backup object reason: BackupScheduled status: "True" type: Queued dataMoverDataUploads: {} fileSystemPodVolumeBackups: {} phase: Created queueInfo: estimatedQueuePosition: 0 veleroBackup: nacuuid: nacuser1-nacuser1-backup-s-23e179a3-1173-4c59-8baa-f44c6b38e53c name: nacuser1-nacuser1-backup-s-23e179a3-1173-4c59-8baa-f44c6b38e53c namespace: openshift-adp spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: false excludedResources: - nonadminbackups - nonadminrestores - nonadminbackupstoragelocations - securitycontextconstraints - clusterroles - clusterrolebindings - priorityclasses - customresourcedefinitions - virtualmachineclusterinstancetypes - virtualmachineclusterpreferences hooks: {} includedNamespaces: - nacuser1 itemOperationTimeout: 4h0m0s metadata: {} snapshotMoveData: false storageLocation: nacuser1-nacuser1-643c3fb2-c95e-4fbf-9c92-6a485bae1669 ttl: 720h0m0s volumeSnapshotLocations: - dpa-sample-1 status: backupItemOperationsAttempted: 1 backupItemOperationsCompleted: 1 completionTimestamp: "2025-09-26T17:03:39Z" csiVolumeSnapshotsAttempted: 1 csiVolumeSnapshotsCompleted: 1 expiration: "2025-10-26T17:02:28Z" formatVersion: 1.1.0 hookStatus: {} phase: Completed progress: itemsBackedUp: 39 totalItems: 39 startTimestamp: "2025-09-26T17:02:28Z" version: 1 ``` ![Screenshot From 2025-09-26 11-18-54](https://hackmd.io/_uploads/HJsGjrNnee.png) ``` oc delete -f mysql.yaml serviceaccount "nacuser1-sa" deleted persistentvolumeclaim "mysql" deleted service "mysql" deleted deployment.apps "mysql" deleted service "todolist" deleted Warning: apps.openshift.io/v1 DeploymentConfig is deprecated in v4.14+, unavailable in v4.10000+ deploymentconfig.apps.openshift.io "todolist" deleted route.route.openshift.io "todolist-route" deleted root@fedora:/home/whayutin/OADP/NAC/TEST# oc get all Warning: apps.openshift.io/v1 DeploymentConfig is deprecated in v4.14+, unavailable in v4.10000+ No resources found in nacuser1 namespace. root@fedora:/home/whayutin/OADP/NAC/TEST# ``` ``` oot@fedora:/home/whayutin/OADP/NAC/TEST# cat nonadminrestore_mysql.yaml kind: NonAdminRestore apiVersion: oadp.openshift.io/v1alpha1 metadata: labels: name: mysql-nonadmin-restore namespace: nacuser1 spec: restoreSpec: backupName: nacuser1-backup-shouldwork root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f nonadminrestore_mysql error: the path "nonadminrestore_mysql" does not exist root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f nonadminrestore_mysql.yaml nonadminrestore.oadp.openshift.io/mysql-nonadmin-restore created root@fedora:/home/whayutin/OADP/NAC/TEST# ``` ``` oc get nonadminrestores.oadp.openshift.io NAME REQUEST-PHASE VELERO-PHASE AGE mysql-nonadmin-restore Created Completed 24s mysql-nonadmin-restore-fail BackingOff 7m17s root@fedora:/home/whayutin/OADP/NAC/TEST# root@fedora:/home/whayutin/OADP/NAC/TEST# root@fedora:/home/whayutin/OADP/NAC/TEST# oc get all Warning: apps.openshift.io/v1 DeploymentConfig is deprecated in v4.14+, unavailable in v4.10000+ NAME READY STATUS RESTARTS AGE pod/mysql-65584f86fc-lhrz2 1/2 Running 0 41s pod/todolist-1-deploy 1/1 Running 0 40s pod/todolist-1-rqgzp 0/1 Init:0/1 0 40s NAME DESIRED CURRENT READY AGE replicationcontroller/todolist-1 1 1 0 41s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/mysql ClusterIP 172.30.249.216 <none> 3306/TCP 42s service/todolist ClusterIP 172.30.163.41 <none> 8000/TCP 42s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/mysql 0/1 1 0 42s NAME DESIRED CURRENT READY AGE replicaset.apps/mysql-65584f86fc 1 1 0 42s NAME REVISION DESIRED CURRENT TRIGGERED BY deploymentconfig.apps.openshift.io/todolist 1 1 1 config NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD route.route.openshift.io/todolist-route todolist-route-nacuser1.apps.wdh418arm.migration.redhat.com / todolist <all> None ``` ![Screenshot From 2025-09-26 11-22-46](https://hackmd.io/_uploads/SJ_g3rN2ll.png) ### [OADP-639](https://polarion.engineering.redhat.com/polarion/#/project/OADP/workitem?id=OADP-639) ``` apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: creationTimestamp: "2025-09-26T16:05:26Z" generation: 4 name: dpa-sample namespace: openshift-adp resourceVersion: "6448497" uid: bda6d98c-b20d-4384-b690-4fd4c6421e92 spec: backupLocations: - velero: config: profile: default region: us-west-2 credential: key: cloud name: cloud-credentials default: true objectStorage: bucket: cvpbucket3uswest2 prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - kubevirt - csi - openshift - aws - hypershift logFormat: text nonAdmin: enable: true enforceBackupSpec: snapshotMoveData: true snapshotLocations: - velero: config: profile: default region: us-west-2 provider: aws status: conditions: - lastTransitionTime: "2025-09-26T16:05:26Z" message: Reconcile complete reason: Complete status: "True" type: Reconciled ``` ``` cat backup_nacuser1.yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: name: nacuser1-backup-dm-shouldwork namespace: nacuser1 spec: backupSpec: includedNamespaces: - nacuser1 storageLocation: nacuser1 ttl: 720h0m0s root@fedora:/home/whayutin/OADP/NAC/TEST# oc create -f backup_nacuser1.yaml nonadminbackup.oadp.openshift.io/nacuser1-backup-dm-shouldwork created ``` ``` oc get datauploads.velero.io NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE nacuser1-nacuser1-backup-d-c56c839d-0c93-4a46-81c5-9617d9cnnvmr Accepted nacuser1-nacuser1-643c3fb2-c95e-4fbf-9c92-6a485bae1669 9s ``` ``` oc get nonadminbackups nacuser1-backup-dm-shouldwork -o yaml apiVersion: oadp.openshift.io/v1alpha1 kind: NonAdminBackup metadata: creationTimestamp: "2025-09-26T17:26:34Z" finalizers: - nonadminbackup.oadp.openshift.io/finalizer generation: 1 name: nacuser1-backup-dm-shouldwork namespace: nacuser1 resourceVersion: "6449552" uid: dca8a796-219d-487d-854e-5c45f2d4e0fe spec: backupSpec: includedNamespaces: - nacuser1 storageLocation: nacuser1 ttl: 720h0m0s status: conditions: - lastTransitionTime: "2025-09-26T17:26:34Z" message: backup accepted reason: BackupAccepted status: "True" type: Accepted - lastTransitionTime: "2025-09-26T17:26:34Z" message: Created Velero Backup object reason: BackupScheduled status: "True" type: Queued dataMoverDataUploads: completed: 1 total: 1 fileSystemPodVolumeBackups: {} phase: Created queueInfo: estimatedQueuePosition: 0 veleroBackup: nacuuid: nacuser1-nacuser1-backup-d-c56c839d-0c93-4a46-81c5-9617d9c1858a name: nacuser1-nacuser1-backup-d-c56c839d-0c93-4a46-81c5-9617d9c1858a namespace: openshift-adp spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: false excludedResources: - nonadminbackups - nonadminrestores - nonadminbackupstoragelocations - securitycontextconstraints - clusterroles - clusterrolebindings - priorityclasses - customresourcedefinitions - virtualmachineclusterinstancetypes - virtualmachineclusterpreferences hooks: {} includedNamespaces: - nacuser1 itemOperationTimeout: 4h0m0s metadata: {} snapshotMoveData: true storageLocation: nacuser1-nacuser1-643c3fb2-c95e-4fbf-9c92-6a485bae1669 ttl: 720h0m0s volumeSnapshotLocations: - dpa-sample-1 status: backupItemOperationsAttempted: 1 backupItemOperationsCompleted: 1 completionTimestamp: "2025-09-26T17:28:08Z" expiration: "2025-10-26T17:26:34Z" formatVersion: 1.1.0 hookStatus: {} phase: Completed progress: itemsBackedUp: 81 totalItems: 81 startTimestamp: "2025-09-26T17:26:34Z" version: 1 ``` ### [OADP-640](https://polarion.engineering.redhat.com/polarion/#/project/OADP/workitem?id=OADP-640) ![Screenshot From 2025-09-26 11-31-06](https://hackmd.io/_uploads/Byx-RBNhel.png) set deleteBackup: true in spec ![Screenshot From 2025-09-26 11-32-49](https://hackmd.io/_uploads/HyAUCrVhel.png) associated velero backup deleted ``` oc get backup nacuser1-nacuser1-backup-d-c56c839d-0c93-4a46-81c5-9617d9c1858a Error from server (NotFound): backups.velero.io "nacuser1-nacuser1-backup-d-c56c839d-0c93-4a46-81c5-9617d9c1858a" not found ```