Skip to content

Commit dafaa4a

Browse files
authored
[internal] add volumesnapshot controller mount options and storage classes annotations (#105)
Signed-off-by: v.oleynikov <[email protected]>
1 parent 4011165 commit dafaa4a

File tree

3 files changed

+8
-19
lines changed

3 files changed

+8
-19
lines changed

images/controller/pkg/controller/nfs_storage_class_watcher.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ const (
5656
NFSStorageClassManagedLabelKey = "storage.deckhouse.io/managed-by"
5757
NFSStorageClassManagedLabelValue = "nfs-storage-class-controller"
5858

59+
NFSStorageClassVolumeSnapshotClassAnnotationKey = "storage.deckhouse.io/volumesnapshotclass"
60+
5961
StorageClassDefaultAnnotationKey = "storageclass.kubernetes.io/is-default-class"
6062
StorageClassDefaultAnnotationValTrue = "true"
6163

images/controller/pkg/controller/nfs_storage_class_watcher_func.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,9 @@ func ConfigureStorageClass(oldSC *storagev1.StorageClass, nsc *v1alpha1.NFSStora
456456
ObjectMeta: metav1.ObjectMeta{
457457
Name: nsc.Name,
458458
Namespace: nsc.Namespace,
459+
Annotations: map[string]string{
460+
NFSStorageClassVolumeSnapshotClassAnnotationKey: nsc.Name,
461+
},
459462
Labels: map[string]string{
460463
NFSStorageClassManagedLabelKey: NFSStorageClassManagedLabelValue,
461464
},
@@ -474,7 +477,7 @@ func ConfigureStorageClass(oldSC *storagev1.StorageClass, nsc *v1alpha1.NFSStora
474477
newSc.Labels = labels.Merge(oldSC.Labels, newSc.Labels)
475478
}
476479
if oldSC.Annotations != nil {
477-
newSc.Annotations = oldSC.Annotations
480+
newSc.Annotations = labels.Merge(oldSC.Annotations, newSc.Annotations)
478481
}
479482
}
480483

@@ -769,6 +772,7 @@ func ConfigureVSClass(oldVSClass *snapshotv1.VolumeSnapshotClass, nsc *v1alpha1.
769772
Driver: NFSStorageClassProvisioner,
770773
DeletionPolicy: deletionPolicy,
771774
Parameters: map[string]string{
775+
"mountOptions": strings.Join(GetSCMountOptions(nsc), ","),
772776
SnapshotterSecretNameKey: SecretForMountOptionsPrefix + nsc.Name,
773777
SnapshotterSecretNamespaceKey: controllerNamespace,
774778
},

images/controller/pkg/controller/nfs_storage_class_watcher_test.go

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -174,23 +174,6 @@ var _ = Describe(controller.NFSStorageClassCtrlName, func() {
174174

175175
})
176176

177-
It("Annotate_sc_as_default_sc", func() {
178-
sc := &storagev1.StorageClass{}
179-
err := cl.Get(ctx, client.ObjectKey{Name: nameForTestResource}, sc)
180-
Expect(err).NotTo(HaveOccurred())
181-
Expect(sc.Annotations).To(BeNil())
182-
183-
sc.Annotations = map[string]string{
184-
controller.StorageClassDefaultAnnotationKey: controller.StorageClassDefaultAnnotationValTrue,
185-
}
186-
187-
err = cl.Update(ctx, sc)
188-
Expect(err).NotTo(HaveOccurred())
189-
Expect(sc.Annotations).To(HaveLen(1))
190-
Expect(sc.Annotations).To(HaveKeyWithValue(controller.StorageClassDefaultAnnotationKey, controller.StorageClassDefaultAnnotationValTrue))
191-
192-
})
193-
194177
It("Update_nfs_sc_1", func() {
195178
nsc := &v1alpha1.NFSStorageClass{}
196179
err := cl.Get(ctx, client.ObjectKey{Name: nameForTestResource}, nsc)
@@ -245,7 +228,7 @@ var _ = Describe(controller.NFSStorageClassCtrlName, func() {
245228
err := cl.Get(ctx, client.ObjectKey{Name: nameForTestResource}, sc)
246229
Expect(err).NotTo(HaveOccurred())
247230
Expect(sc.Annotations).To(HaveLen(1))
248-
Expect(sc.Annotations).To(HaveKeyWithValue(controller.StorageClassDefaultAnnotationKey, controller.StorageClassDefaultAnnotationValTrue))
231+
Expect(sc.Annotations).To(HaveKeyWithValue(controller.NFSStorageClassVolumeSnapshotClassAnnotationKey, sc.Name))
249232

250233
})
251234

0 commit comments

Comments
 (0)