@@ -14,13 +14,15 @@ import (
1414const ManagedLabel = "sts-resize.vshn.net/managed"
1515
1616// NewEntity returns a new pvc Info
17- func NewEntity (pvc corev1.PersistentVolumeClaim , growTo resource.Quantity ) Entity {
17+ func NewEntity (pvc corev1.PersistentVolumeClaim , growTo resource.Quantity , storageClassName * string ) Entity {
18+ pvc .Spec .StorageClassName = storageClassName
1819 return Entity {
19- SourceName : pvc .Name ,
20- Namespace : pvc .Namespace ,
21- Labels : pvc .Labels ,
22- TargetSize : growTo ,
23- Spec : pvc .Spec ,
20+ SourceName : pvc .Name ,
21+ Namespace : pvc .Namespace ,
22+ Labels : pvc .Labels ,
23+ TargetSize : growTo ,
24+ TargetStorageClass : storageClassName ,
25+ Spec : pvc .Spec ,
2426 }
2527}
2628
@@ -29,9 +31,10 @@ type Entity struct {
2931 Namespace string
3032 SourceName string
3133
32- Labels map [string ]string
33- Spec corev1.PersistentVolumeClaimSpec
34- TargetSize resource.Quantity
34+ Labels map [string ]string
35+ Spec corev1.PersistentVolumeClaimSpec
36+ TargetSize resource.Quantity
37+ TargetStorageClass * string
3538
3639 BackedUp bool
3740 Restored bool
@@ -60,7 +63,7 @@ func (pi Entity) GetBackup() *corev1.PersistentVolumeClaim {
6063 Spec : corev1.PersistentVolumeClaimSpec {
6164 AccessModes : pi .Spec .AccessModes ,
6265 Resources : pi .Spec .Resources ,
63- StorageClassName : pi .Spec . StorageClassName ,
66+ StorageClassName : pi .TargetStorageClass , // use target storage class. Old one might not be usable anymore
6467 VolumeMode : pi .Spec .VolumeMode ,
6568 },
6669 }
@@ -81,7 +84,7 @@ func (pi Entity) GetResizedSource() *corev1.PersistentVolumeClaim {
8184 corev1 .ResourceStorage : pi .TargetSize ,
8285 },
8386 },
84- StorageClassName : pi .Spec . StorageClassName ,
87+ StorageClassName : pi .TargetStorageClass ,
8588 VolumeMode : pi .Spec .VolumeMode ,
8689 },
8790 }
0 commit comments