@@ -9,15 +9,14 @@ We use a two-backup strategy:
991 . ** backup-openstack-pvcs.yaml** - PVCs only (with CSI snapshots, local only)
1010 - Filters at backup time using ` labelSelector `
1111 - Only includes PVCs labeled with ` backup.openstack.org/backup: "true" `
12- - Includes: Glance image storage PVCs, GaleraBackup PVCs
1312
14- 1 . ** backup-openstack-pvcs-datamover.yaml** - PVCs with Data Mover (uploads to S3/MinIO)
13+ 2 . ** backup-openstack-pvcs-datamover.yaml** - PVCs with Data Mover (uploads to S3/MinIO)
1514 - Same as above but with ` snapshotMoveData: true `
1615 - Uploads CSI snapshot data to BackupStorageLocation via Kopia
1716 - Enables restore even after total cluster loss
1817 - Requires OADP DPA with ` nodeAgent ` enabled
1918
20- 2 . ** backup-openstack-resources.yaml** - Everything except PVCs
19+ 3 . ** backup-openstack-resources.yaml** - Everything except PVCs
2120 - Backs up all resources in the namespace
2221 - Excludes PVCs (backed up separately)
2322 - Includes: CRs, Secrets, ConfigMaps, NADs, etc.
@@ -34,6 +33,10 @@ We use a two-backup strategy:
3433- Velero storage location configured (named ` velero-1 ` )
3534- CSI snapshot capability for PVC backups
3635- OpenStack deployed in ` openstack ` namespace with backup labels applied
36+ - GaleraBackup CRs configured for each Galera database instance (main cell and
37+ any additional cells). The CRs define cronjobs that dump databases to PVCs.
38+ ** Note:** When using LVM storage, specify PVC sizes with binary suffixes (e.g.,
39+ ` 5Gi ` not ` 5G ` ) to avoid size rounding issues.
3740
3841## Quick Start
3942
@@ -87,35 +90,16 @@ oc describe backup openstack-backup-pvcs -n openshift-adp
8790
8891### backup-openstack-pvcs
8992
90- - Glance local PVCs (image storage)
91- - GaleraBackup PVCs (database backups)
92- - Any other PVCs labeled with ` backup.openstack.org/backup: "true" `
93+ All PVCs labeled with ` backup.openstack.org/backup: "true" ` are backed up via
94+ CSI volume snapshots. Service operators set this label automatically on PVCs
95+ they manage (e.g., Glance image storage, GaleraBackup database dumps).
9396
9497### backup-openstack-resources
9598
96- ** Order 10 - Foundation:**
97- - Secrets without ownerRefs (user-provided)
98- - ConfigMaps without ownerRefs (user-provided)
99- - NetworkAttachmentDefinitions without ownerRefs
100-
101- ** Order 20 - Infrastructure:**
102- - OpenStackVersion
103- - OpenStackBackupConfig
104- - MariaDBAccount
105- - MariaDBDatabase
106- - NetConfig, Topology, BGPConfiguration, DNSData, InstanceHa
107-
108- ** Order 30 - ControlPlane:**
109- - OpenStackControlPlane
110- - Reservation
111-
112- ** Order 40 - Backup Config, IP Sets & DataPlane Services:**
113- - GaleraBackup
114- - IPSet
115- - DataPlaneService (custom user-created services)
116-
117- ** Order 60 - DataPlane:**
118- - OpenStackDataPlaneNodeSet
99+ All resources in the namespace except PVCs. This includes CRs, Secrets,
100+ ConfigMaps, NetworkAttachmentDefinitions, and any other namespace-scoped
101+ resources. Restore ordering is controlled by ` backup.openstack.org/restore-order `
102+ labels on the backed-up resources (see ` docs/dev/backup-restore/restore/README.md ` ).
119103
120104## Customization
121105
@@ -153,19 +137,33 @@ spec:
153137# List all backups
154138oc get backup -n openshift-adp
155139
156- # Check backup details
140+ # Check backup details and status
157141oc get backup openstack-backup-resources -n openshift-adp -o yaml
158142oc get backup openstack-backup-pvcs -n openshift-adp -o yaml
159143
160- # Check what was backed up
161- oc get backup openstack-backup-resources -n openshift-adp \
162- -o jsonpath='{.status.progress}' | jq
144+ # Verify backup phase is "Completed"
145+ oc get backup -n openshift-adp -o custom-columns=NAME:.metadata.name,PHASE:.status.phase,ERRORS:.status.errors,WARNINGS:.status.warnings
163146
164- # List volume snapshots
147+ # List volume snapshots created by backup
165148oc get volumesnapshot -n openstack
166149oc get volumesnapshotcontent
167150` ` `
168151
152+ # ## Data Mover Verification
153+
154+ When using `snapshotMoveData : true`, verify that all PVC data was uploaded
155+ to the BackupStorageLocation :
156+
157+ ` ` ` bash
158+ # Check that DataUpload CRs completed for each PVC
159+ oc get datauploads -n openshift-adp -l velero.io/backup-name=openstack-backup-pvcs
160+ oc get datauploads -n openshift-adp -o custom-columns=NAME:.metadata.name,PHASE:.status.phase,BYTES:.status.progress.totalBytes
161+
162+ # All DataUploads should show Phase=Completed
163+ # If any show Phase=Failed, check node-agent logs:
164+ oc logs -n openshift-adp -l name=node-agent --tail=50
165+ ` ` `
166+
169167# # Scheduling Backups
170168
171169To schedule regular backups, create a Velero Schedule CR :
0 commit comments