Skip to content

Commit 6866333

Browse files
committed
rebase branch and resolve conflicts
Signed-off-by: Ashima-Ashima1 <[email protected]>
2 parents ec06dcd + bf8ba7e commit 6866333

File tree

7 files changed

+127
-64
lines changed

7 files changed

+127
-64
lines changed

controllers/ibmobjectcsi_controller.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ func (r *IBMObjectCSIReconciler) isNodeReady(node *appsv1.DaemonSet) bool {
282282
func (r *IBMObjectCSIReconciler) getNodeDaemonSet(instance *crutils.IBMObjectCSI) (*appsv1.DaemonSet, error) {
283283
node := &appsv1.DaemonSet{}
284284
err := r.Get(context.TODO(), types.NamespacedName{
285-
Name: oconfig.GetNameForResource(oconfig.CSINode, instance.Name),
285+
Name: oconfig.GetNameForResource(oconfig.CSINode, oconfig.DriverPrefix),
286286
Namespace: instance.Namespace,
287287
}, node)
288288
return node, err
@@ -291,7 +291,7 @@ func (r *IBMObjectCSIReconciler) getNodeDaemonSet(instance *crutils.IBMObjectCSI
291291
func (r *IBMObjectCSIReconciler) getControllerDeployment(instance *crutils.IBMObjectCSI) (*appsv1.Deployment, error) {
292292
controllerDeployment := &appsv1.Deployment{}
293293
err := r.Get(context.TODO(), types.NamespacedName{
294-
Name: oconfig.GetNameForResource(oconfig.CSIController, instance.Name),
294+
Name: oconfig.GetNameForResource(oconfig.CSIController, oconfig.DriverPrefix),
295295
Namespace: instance.Namespace,
296296
}, controllerDeployment)
297297
return controllerDeployment, err
@@ -318,8 +318,8 @@ func (r *IBMObjectCSIReconciler) reconcileServiceAccount(instance *crutils.IBMOb
318318
controller := instance.GenerateControllerServiceAccount()
319319
node := instance.GenerateNodeServiceAccount()
320320

321-
controllerServiceAccountName := oconfig.GetNameForResource(oconfig.CSIControllerServiceAccount, instance.Name)
322-
nodeServiceAccountName := oconfig.GetNameForResource(oconfig.CSINodeServiceAccount, instance.Name)
321+
controllerServiceAccountName := oconfig.GetNameForResource(oconfig.CSIControllerServiceAccount, oconfig.DriverPrefix)
322+
nodeServiceAccountName := oconfig.GetNameForResource(oconfig.CSINodeServiceAccount, oconfig.DriverPrefix)
323323

324324
for _, sa := range []*corev1.ServiceAccount{
325325
controller,
@@ -472,11 +472,16 @@ func (r *IBMObjectCSIReconciler) getClusterRoleBindings(instance *crutils.IBMObj
472472
}
473473

474474
func (r *IBMObjectCSIReconciler) getStorageClasses(instance *crutils.IBMObjectCSI) []*storagev1.StorageClass {
475-
rcloneSC := instance.GenerateRcloneSC()
476-
s3fsSC := instance.Generates3fsSC()
475+
rcloneRetainSC := instance.GenerateRcloneSC(oconfig.RcloneRetainStorageClass, corev1.PersistentVolumeReclaimRetain)
476+
rcloneSC := instance.GenerateRcloneSC(oconfig.RcloneStorageClass, corev1.PersistentVolumeReclaimDelete)
477+
478+
s3fsRetainSC := instance.GenerateS3fsSC(oconfig.S3fsRetainStorageClass, corev1.PersistentVolumeReclaimRetain)
479+
s3fsSC := instance.GenerateS3fsSC(oconfig.S3fsStorageClass, corev1.PersistentVolumeReclaimDelete)
477480

478481
return []*storagev1.StorageClass{
482+
rcloneRetainSC,
479483
rcloneSC,
484+
s3fsRetainSC,
480485
s3fsSC,
481486
}
482487
}

controllers/ibmobjectcsi_controller_test.go

Lines changed: 75 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ import (
3333

3434
var (
3535
defaultFSGroupPolicy = storagev1.FileFSGroupPolicy
36-
reclaimPolicy = corev1.PersistentVolumeReclaimRetain
36+
reclaimPolicyRetain = corev1.PersistentVolumeReclaimRetain
37+
reclaimPolicyDelete = corev1.PersistentVolumeReclaimDelete
3738
secrets = crutils.GetImagePullSecrets(ibmObjectCSICR.Spec.ImagePullSecrets)
3839

3940
ibmObjectCSIReconcileRequest = reconcile.Request{
@@ -155,7 +156,7 @@ var (
155156

156157
csiNode = &appsv1.DaemonSet{
157158
ObjectMeta: metav1.ObjectMeta{
158-
Name: config.GetNameForResource(config.CSINode, ibmObjectCSICRName),
159+
Name: config.GetNameForResource(config.CSINode, config.DriverPrefix),
159160
Namespace: TestNamespace,
160161
Annotations: annotations,
161162
},
@@ -166,7 +167,7 @@ var (
166167

167168
controllerDeployment = &appsv1.Deployment{
168169
ObjectMeta: metav1.ObjectMeta{
169-
Name: config.GetNameForResource(config.CSIController, ibmObjectCSICRName),
170+
Name: config.GetNameForResource(config.CSIController, config.DriverPrefix),
170171
Namespace: TestNamespace,
171172
Annotations: annotations,
172173
},
@@ -196,77 +197,77 @@ var (
196197

197198
controllerSA = &corev1.ServiceAccount{
198199
ObjectMeta: metav1.ObjectMeta{
199-
Name: config.GetNameForResource(config.CSIControllerServiceAccount, ibmObjectCSICRName),
200+
Name: config.GetNameForResource(config.CSIControllerServiceAccount, config.DriverPrefix),
200201
Namespace: TestNamespace,
201202
},
202203
ImagePullSecrets: secrets,
203204
}
204205

205206
nodeSA = &corev1.ServiceAccount{
206207
ObjectMeta: metav1.ObjectMeta{
207-
Name: config.GetNameForResource(config.CSINodeServiceAccount, ibmObjectCSICRName),
208+
Name: config.GetNameForResource(config.CSINodeServiceAccount, config.DriverPrefix),
208209
Namespace: TestNamespace,
209210
},
210211
ImagePullSecrets: secrets,
211212
}
212213

213214
externalProvisionerCRB = &rbacv1.ClusterRoleBinding{
214215
ObjectMeta: metav1.ObjectMeta{
215-
Name: config.GetNameForResource(config.ExternalProvisionerClusterRoleBinding, ibmObjectCSICRName),
216+
Name: config.GetNameForResource(config.ExternalProvisionerClusterRoleBinding, config.DriverPrefix),
216217
},
217218
Subjects: []rbacv1.Subject{
218219
{
219220
Kind: "ServiceAccount",
220-
Name: config.GetNameForResource(config.CSIControllerServiceAccount, ibmObjectCSICRName),
221+
Name: config.GetNameForResource(config.CSIControllerServiceAccount, config.DriverPrefix),
221222
Namespace: TestNamespace,
222223
},
223224
},
224225
RoleRef: rbacv1.RoleRef{
225226
Kind: "ClusterRole",
226-
Name: config.GetNameForResource(config.ExternalProvisionerClusterRole, ibmObjectCSICRName),
227+
Name: config.GetNameForResource(config.ExternalProvisionerClusterRole, config.DriverPrefix),
227228
APIGroup: config.RbacAuthorizationAPIGroup,
228229
},
229230
}
230231

231232
controllerSCCCRB = &rbacv1.ClusterRoleBinding{
232233
ObjectMeta: metav1.ObjectMeta{
233-
Name: config.GetNameForResource(config.CSIControllerSCCClusterRoleBinding, ibmObjectCSICRName),
234+
Name: config.GetNameForResource(config.CSIControllerSCCClusterRoleBinding, config.DriverPrefix),
234235
},
235236
Subjects: []rbacv1.Subject{
236237
{
237238
Kind: "ServiceAccount",
238-
Name: config.GetNameForResource(config.CSIControllerServiceAccount, ibmObjectCSICRName),
239+
Name: config.GetNameForResource(config.CSIControllerServiceAccount, config.DriverPrefix),
239240
Namespace: TestNamespace,
240241
},
241242
},
242243
RoleRef: rbacv1.RoleRef{
243244
Kind: "ClusterRole",
244-
Name: config.GetNameForResource(config.CSIControllerSCCClusterRole, ibmObjectCSICRName),
245+
Name: config.GetNameForResource(config.CSIControllerSCCClusterRole, config.DriverPrefix),
245246
APIGroup: config.RbacAuthorizationAPIGroup,
246247
},
247248
}
248249

249250
nodeSCCCRB = &rbacv1.ClusterRoleBinding{
250251
ObjectMeta: metav1.ObjectMeta{
251-
Name: config.GetNameForResource(config.CSINodeSCCClusterRoleBinding, ibmObjectCSICRName),
252+
Name: config.GetNameForResource(config.CSINodeSCCClusterRoleBinding, config.DriverPrefix),
252253
},
253254
Subjects: []rbacv1.Subject{
254255
{
255256
Kind: "ServiceAccount",
256-
Name: config.GetNameForResource(config.CSINodeServiceAccount, ibmObjectCSICRName),
257+
Name: config.GetNameForResource(config.CSINodeServiceAccount, config.DriverPrefix),
257258
Namespace: TestNamespace,
258259
},
259260
},
260261
RoleRef: rbacv1.RoleRef{
261262
Kind: "ClusterRole",
262-
Name: config.GetNameForResource(config.CSINodeSCCClusterRole, ibmObjectCSICRName),
263+
Name: config.GetNameForResource(config.CSINodeSCCClusterRole, config.DriverPrefix),
263264
APIGroup: config.RbacAuthorizationAPIGroup,
264265
},
265266
}
266267

267268
externalProvisionerCR = &rbacv1.ClusterRole{
268269
ObjectMeta: metav1.ObjectMeta{
269-
Name: config.GetNameForResource(config.ExternalProvisionerClusterRole, ibmObjectCSICRName),
270+
Name: config.GetNameForResource(config.ExternalProvisionerClusterRole, config.DriverPrefix),
270271
},
271272
Rules: []rbacv1.PolicyRule{
272273
{
@@ -309,7 +310,7 @@ var (
309310

310311
controllerSCCCR = &rbacv1.ClusterRole{
311312
ObjectMeta: metav1.ObjectMeta{
312-
Name: config.GetNameForResource(config.CSIControllerSCCClusterRole, ibmObjectCSICRName),
313+
Name: config.GetNameForResource(config.CSIControllerSCCClusterRole, config.DriverPrefix),
313314
},
314315
Rules: []rbacv1.PolicyRule{
315316
{
@@ -323,7 +324,7 @@ var (
323324

324325
nodeSCCCR = &rbacv1.ClusterRole{
325326
ObjectMeta: metav1.ObjectMeta{
326-
Name: config.GetNameForResource(config.CSINodeSCCClusterRole, ibmObjectCSICRName),
327+
Name: config.GetNameForResource(config.CSINodeSCCClusterRole, config.DriverPrefix),
327328
},
328329
Rules: []rbacv1.PolicyRule{
329330
{
@@ -342,10 +343,37 @@ var (
342343

343344
rCloneSC = &storagev1.StorageClass{
344345
ObjectMeta: metav1.ObjectMeta{
345-
Name: config.GetNameForResource(config.RcloneStorageClass, ibmObjectCSICRName),
346+
Name: config.RcloneStorageClass.String(),
346347
},
347348
Provisioner: config.DriverName,
348-
ReclaimPolicy: &reclaimPolicy,
349+
ReclaimPolicy: &reclaimPolicyDelete,
350+
MountOptions: []string{
351+
"acl=private",
352+
"bucket_acl=private",
353+
"upload_cutoff=256Mi",
354+
"chunk_size=64Mi",
355+
"max_upload_parts=64",
356+
"upload_concurrency=20",
357+
"copy_cutoff=1Gi",
358+
"memory_pool_flush_time=30s",
359+
"disable_checksum=true",
360+
},
361+
Parameters: map[string]string{
362+
"mounter": "rclone",
363+
"client": "awss3",
364+
"csi.storage.k8s.io/provisioner-secret-name": "${pvc.name}",
365+
"csi.storage.k8s.io/provisioner-secret-namespace": "${pvc.namespace}",
366+
"csi.storage.k8s.io/node-publish-secret-name": "${pvc.name}",
367+
"csi.storage.k8s.io/node-publish-secret-namespace": "${pvc.namespace}",
368+
},
369+
}
370+
371+
rCloneRetainSC = &storagev1.StorageClass{
372+
ObjectMeta: metav1.ObjectMeta{
373+
Name: config.RcloneRetainStorageClass.String(),
374+
},
375+
Provisioner: config.DriverName,
376+
ReclaimPolicy: &reclaimPolicyRetain,
349377
MountOptions: []string{
350378
"acl=private",
351379
"bucket_acl=private",
@@ -369,10 +397,34 @@ var (
369397

370398
s3fsSC = &storagev1.StorageClass{
371399
ObjectMeta: metav1.ObjectMeta{
372-
Name: config.GetNameForResource(config.S3fsStorageClass, ibmObjectCSICRName),
400+
Name: config.S3fsStorageClass.String(),
401+
},
402+
Provisioner: config.DriverName,
403+
ReclaimPolicy: &reclaimPolicyDelete,
404+
MountOptions: []string{
405+
"multipart_size=62",
406+
"max_dirty_data=51200",
407+
"parallel_count=8",
408+
"max_stat_cache_size=100000",
409+
"retries=5",
410+
"kernel_cache",
411+
},
412+
Parameters: map[string]string{
413+
"mounter": "s3fs",
414+
"client": "awss3",
415+
"csi.storage.k8s.io/provisioner-secret-name": "${pvc.name}",
416+
"csi.storage.k8s.io/provisioner-secret-namespace": "${pvc.namespace}",
417+
"csi.storage.k8s.io/node-publish-secret-name": "${pvc.name}",
418+
"csi.storage.k8s.io/node-publish-secret-namespace": "${pvc.namespace}",
419+
},
420+
}
421+
422+
s3fsRetainSC = &storagev1.StorageClass{
423+
ObjectMeta: metav1.ObjectMeta{
424+
Name: config.S3fsRetainStorageClass.String(),
373425
},
374426
Provisioner: config.DriverName,
375-
ReclaimPolicy: &reclaimPolicy,
427+
ReclaimPolicy: &reclaimPolicyRetain,
376428
MountOptions: []string{
377429
"multipart_size=62",
378430
"max_dirty_data=51200",
@@ -738,7 +790,9 @@ func TestIBMObjectCSIReconcile(t *testing.T) {
738790
objects: []runtime.Object{
739791
ibmObjectCSICRWithDeletionTS,
740792
rCloneSC,
793+
rCloneRetainSC,
741794
s3fsSC,
795+
s3fsRetainSC,
742796
},
743797
clientFunc: func(objs []runtime.Object) client.WithWatch {
744798
return fakedelete.NewClientBuilder().WithRuntimeObjects(objs...).Build()

0 commit comments

Comments
 (0)