Support for PVCs whose actual size is different from configured size in the manifest

Summary

In some cases a PVC’s manifest shows one size while the size of the actual volume underneath is much larger. Backups work fine, but when a restore is performed the PVC is created with the size specified in the manifest, which may not be sufficient to hold all the data.

Solution

Add the annotation “cloudcasa.io/pvc-actual-size” to the PVC and set its value to the actual size (using appropriate units as understood by Kubernetes).

Example:

kubectl -n <NAMESPACE> annotate pvc <PVC-NAME> cloudcasa.io/pvc-actual-size=250Gi

Note that this annotation needs to be present at backup time.