-
Bug
-
Resolution: Won't Do
-
Major
-
OADP 1.3.1
-
False
-
-
False
-
ToDo
-
-
-
Important
-
8
-
0
-
Very Likely
-
0
-
Customer Escalated, Customer Facing
-
None
-
Unset
-
Unknown
-
No
Description of problem:
When using Data Mover as per Backing up and restoring CSI snapshots data movement to backup persistent data, it's observed that the Backup will fail, when the volume formatted using XFS filesystem type and the volume is filled by 100%.
The backup pod in openshift-adp will fail to start and report the below Events. Interesting enough, a volume with filesystem type set to EXT4 and also filled by 100% is not showing/reporting similar problems.
11m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-103: no space left on device 9m59s Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-10: no space left on device 9m22s Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-105: no space left on device 11m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-109: no space left on device 10m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-1: no space left on device 10m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-102: no space left on device 9m46s Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-101: no space left on device
Version-Release number of selected component (if applicable):
OpenShift API for Data Protection 1.3.1
How reproducible:
Always
Steps to Reproduce:
1. Setup OpenShift Container Platform 4 and install OpenShift API for Data Protection 1.3.1
2. Configure ... as per example below (the example is using minio but it's expected to see the same problem with any other storage location)
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: oadp-minio namespace: openshift-adp spec: backupLocations: - velero: config: insecureSkipTLSVerify: "true" profile: default region: minio s3ForcePathStyle: "true" s3Url: https://<svc-ip> credential: key: cloud name: cloud-credentials default: true objectStorage: bucket: backup prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - openshift - csi - aws snapshotLocations: - velero: config: profile: default region: minio provider: aws
3. Create a custom StorageClass to have the volume formated with XFS filesystem
allowVolumeExpansion: true apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gp3-csi-custom parameters: csi.storage.k8s.io/fstype: xfs encrypted: "true" type: gp3 provisioner: ebs.csi.aws.com reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer
4. Create an application with filesystem attached (XFS)
apiVersion: apps/v1 kind: Deployment metadata: labels: app: curl app.kubernetes.io/component: curl app.kubernetes.io/instance: curl app.kubernetes.io/name: curl app.kubernetes.io/part-of: curl app.openshift.io/runtime: fedora app.openshift.io/runtime-namespace: project-100 name: curl namespace: project-100 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: curl strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: openshift.io/generated-by: OpenShiftWebConsole creationTimestamp: null labels: app: curl deployment: curl spec: containers: - image: quay.io/rhn_support_sreber/curl:latest imagePullPolicy: Always name: curl ports: - containerPort: 8080 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /data name: data - mountPath: /data-xfs name: data-xfs dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: data persistentVolumeClaim: claimName: data - name: data-xfs persistentVolumeClaim: claimName: data-xfs
5. Write to the XFS volume in the application to fill it up
oc rsh -n project-100 curl-XXXXXXXX-XXXX for i in {1..100000000} do dd if=/dev/random of=/data-xfs/data-xfs-$i bs=1024K count=1 done
6. Run the backup
apiVersion: velero.io/v1 kind: Backup metadata: name: backup labels: velero.io/storage-location: oadp-minio-1 namespace: openshift-adp spec: hooks: {} defaultVolumesToFsBackup: false snapshotMoveData: true includedNamespaces: - project-100 storageLocation: oadp-minio-1 ttl: 720h0m0s volumeSnapshotLocations: - oadp-minio-1
Actual results:
Backup remains pending completion until the timeout is met. Yet the following events are reported by the backup pod in openshift-adp
11m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-103: no space left on device 9m59s Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-10: no space left on device 9m22s Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-105: no space left on device 11m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-109: no space left on device 10m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-1: no space left on device 10m Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-102: no space left on device 9m46s Warning Failed pod/backup-8-gnkw2 Error: relabel failed /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount: lsetxattr /var/lib/kubelet/pods/3acf031e-aa17-49af-ae82-2f622de2fe34/volumes/kubernetes.io~csi/pvc-684b9cc5-df89-4043-a7c4-b7b37d56512c/mount/data-xfs-101: no space left on device
Expected results:
The backup should either complete or immediately report that the backup can not be taken because the volume is filled by 100% and therefore the process might actually fail.
Additional info:
As highlighted before, this only happens with XFS filesystem. When using EXT4 no such problem is being reported
- relates to
-
OADP-4568 OADP Troubleshooting: XFS volume full, out of space issues.
- Closed
- links to