@@ -14,13 +14,15 @@ import (
14
14
const ManagedLabel = "sts-resize.vshn.net/managed"
15
15
16
16
// 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
18
19
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 ,
24
26
}
25
27
}
26
28
@@ -29,9 +31,10 @@ type Entity struct {
29
31
Namespace string
30
32
SourceName string
31
33
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
35
38
36
39
BackedUp bool
37
40
Restored bool
@@ -60,7 +63,7 @@ func (pi Entity) GetBackup() *corev1.PersistentVolumeClaim {
60
63
Spec : corev1.PersistentVolumeClaimSpec {
61
64
AccessModes : pi .Spec .AccessModes ,
62
65
Resources : pi .Spec .Resources ,
63
- StorageClassName : pi .Spec . StorageClassName ,
66
+ StorageClassName : pi .TargetStorageClass , // use target storage class. Old one might not be usable anymore
64
67
VolumeMode : pi .Spec .VolumeMode ,
65
68
},
66
69
}
@@ -81,7 +84,7 @@ func (pi Entity) GetResizedSource() *corev1.PersistentVolumeClaim {
81
84
corev1 .ResourceStorage : pi .TargetSize ,
82
85
},
83
86
},
84
- StorageClassName : pi .Spec . StorageClassName ,
87
+ StorageClassName : pi .TargetStorageClass ,
85
88
VolumeMode : pi .Spec .VolumeMode ,
86
89
},
87
90
}
0 commit comments