Skip to content

Commit 581ed52

Browse files
authored
Merge pull request #3778 from chethanv28/revert-patch-cr-changes-2
Revert "Use Patch operation for CnsVolumeMetadata and CnsFileAccessConfig updates"
2 parents 9442b14 + 1535559 commit 581ed52

File tree

7 files changed

+20
-561
lines changed

7 files changed

+20
-561
lines changed

pkg/syncer/cnsoperator/controller/cnsfileaccessconfig/cnsfileaccessconfig_controller.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -526,13 +526,12 @@ func addPvcFinalizer(ctx context.Context,
526526
return nil
527527
}
528528

529-
original := pvc.DeepCopy()
530529
if !controllerutil.AddFinalizer(pvc, cnsoperatortypes.CNSPvcFinalizer) {
531530
return fmt.Errorf("failed to add CNS finalizer to PVC %s in namespace %s", pvc.Name,
532531
pvc.Namespace)
533532
}
534533

535-
err = util.PatchObject(ctx, client, original, pvc)
534+
err = client.Update(ctx, pvc)
536535
if err != nil {
537536
return fmt.Errorf("failed to add finalizer %s on PVC %s in namespace %s", cnsoperatortypes.CNSPvcFinalizer,
538537
instance.Spec.PvcName, instance.Namespace)
@@ -598,15 +597,14 @@ func removeFinalizerFromPVC(ctx context.Context, client client.Client,
598597
return nil
599598
}
600599

601-
original := pvc.DeepCopy()
602600
if !controllerutil.RemoveFinalizer(pvc, cnsoperatortypes.CNSPvcFinalizer) {
603601
err := fmt.Errorf("failed to remove finalizer %s from PVC %s in namespace %s",
604602
cnsoperatortypes.CNSPvcFinalizer, pvcName, pvc.Namespace)
605603
log.Errorf("failed to remove finalizer from PVC. Err: %+v", err)
606604
return err
607605
}
608606

609-
err = util.PatchObject(ctx, client, original, pvc)
607+
err = client.Update(ctx, pvc)
610608
if err != nil {
611609
return fmt.Errorf("failed to remove finalizer %s from PVC %s in namespace %s",
612610
cnsoperatortypes.CNSPvcFinalizer, pvcName, pvc.Namespace)
@@ -874,10 +872,9 @@ func setInstanceError(ctx context.Context, r *ReconcileCnsFileAccessConfig,
874872
func updateCnsFileAccessConfig(ctx context.Context, client client.Client,
875873
instance *v1a1.CnsFileAccessConfig) error {
876874
log := logger.GetLogger(ctx)
877-
original := instance.DeepCopy()
878-
err := util.PatchObject(ctx, client, original, instance)
875+
err := client.Update(ctx, instance)
879876
if err != nil {
880-
log.Errorf("failed to patch CnsFileAccessConfig instance: %q on namespace: %q. Error: %+v",
877+
log.Errorf("failed to update CnsFileAccessConfig instance: %q on namespace: %q. Error: %+v",
881878
instance.Name, instance.Namespace, err)
882879
}
883880
return err

pkg/syncer/cnsoperator/controller/cnsvolumemetadata/cnsvolumemetadata_controller.go

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
"sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common"
2929
"sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common/commonco"
3030
"sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/logger"
31-
cnsoperatorutil "sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/util"
31+
"sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/util"
3232

3333
"github.com/davecgh/go-spew/spew"
3434
v1 "k8s.io/api/core/v1"
@@ -113,7 +113,7 @@ func newReconciler(mgr manager.Manager, configInfo *commonconfig.ConfigurationIn
113113
// add adds a new Controller to mgr with r as the reconcile.Reconciler.
114114
func add(mgr manager.Manager, r reconcile.Reconciler) error {
115115
ctx, log := logger.GetNewContextWithLogger()
116-
maxWorkerThreads := cnsoperatorutil.GetMaxWorkerThreads(ctx,
116+
maxWorkerThreads := util.GetMaxWorkerThreads(ctx,
117117
workerThreadsEnvVar, defaultMaxWorkerThreads)
118118
// Create a new controller.
119119
c, err := controller.New("cnsvolumemetadata-controller", mgr,
@@ -233,9 +233,8 @@ func (r *ReconcileCnsVolumeMetadata) Reconcile(ctx context.Context,
233233
instance.Spec.EntityName, instance.Spec.EntityType, instance.Spec.GuestClusterID)
234234
recordEvent(ctx, r, instance, v1.EventTypeWarning, msg)
235235
// Update instance.status fields with the errors per volume.
236-
original := instance.DeepCopy()
237-
if err = cnsoperatorutil.PatchObject(ctx, r.client, original, instance); err != nil {
238-
msg := fmt.Sprintf("ReconcileCnsVolumeMetadata: Failed to patch status for %q. "+
236+
if err = r.client.Update(ctx, instance); err != nil {
237+
msg := fmt.Sprintf("ReconcileCnsVolumeMetadata: Failed to update status for %q. "+
239238
"Err: %v.", instance.Name, err)
240239
recordEvent(ctx, r, instance, v1.EventTypeWarning, msg)
241240
}
@@ -247,9 +246,8 @@ func (r *ReconcileCnsVolumeMetadata) Reconcile(ctx context.Context,
247246
for index, finalizer := range instance.Finalizers {
248247
if finalizer == cnsoperatortypes.CNSFinalizer {
249248
log.Debugf("ReconcileCnsVolumeMetadata: Removing finalizer %q for instance %q", finalizer, instance.Name)
250-
original := instance.DeepCopy()
251249
instance.Finalizers = append(instance.Finalizers[:index], instance.Finalizers[index+1:]...)
252-
if err = cnsoperatorutil.PatchObject(ctx, r.client, original, instance); err != nil {
250+
if err = r.client.Update(ctx, instance); err != nil {
253251
msg := fmt.Sprintf("ReconcileCnsVolumeMetadata: Failed to remove finalizer %q for %q. "+
254252
"Err: %v. Requeueing request.", finalizer, instance.Name, err)
255253
recordEvent(ctx, r, instance, v1.EventTypeWarning, msg)
@@ -278,9 +276,8 @@ func (r *ReconcileCnsVolumeMetadata) Reconcile(ctx context.Context,
278276

279277
// Set finalizer if it was not set already on this instance.
280278
if !isFinalizerSet {
281-
original := instance.DeepCopy()
282279
instance.Finalizers = append(instance.Finalizers, cnsoperatortypes.CNSFinalizer)
283-
if err = cnsoperatorutil.PatchObject(ctx, r.client, original, instance); err != nil {
280+
if err = r.client.Update(ctx, instance); err != nil {
284281
msg := fmt.Sprintf("ReconcileCnsVolumeMetadata: Failed to add finalizer %q for %q. "+
285282
"Err: %v. Requeueing request.", cnsoperatortypes.CNSFinalizer, instance.Name, err)
286283
recordEvent(ctx, r, instance, v1.EventTypeWarning, msg)
@@ -296,8 +293,7 @@ func (r *ReconcileCnsVolumeMetadata) Reconcile(ctx context.Context,
296293
recordEvent(ctx, r, instance, v1.EventTypeWarning, msg)
297294
// Update instance.status fields on supervisor API server and requeue
298295
// the request.
299-
original := instance.DeepCopy()
300-
_ = cnsoperatorutil.PatchObject(ctx, r.client, original, instance)
296+
_ = r.client.Update(ctx, instance)
301297
return reconcile.Result{RequeueAfter: timeout}, nil
302298
}
303299
// Successfully updated CNS.
@@ -306,9 +302,8 @@ func (r *ReconcileCnsVolumeMetadata) Reconcile(ctx context.Context,
306302
instance.Spec.EntityName, instance.Spec.EntityType, instance.Spec.GuestClusterID)
307303
recordEvent(ctx, r, instance, v1.EventTypeNormal, msg)
308304
// Update instance.status fields on supervisor API server.
309-
original := instance.DeepCopy()
310-
if err = cnsoperatorutil.PatchObject(ctx, r.client, original, instance); err != nil {
311-
msg := fmt.Sprintf("ReconcileCnsVolumeMetadata: Failed to patch status for %q. "+
305+
if err = r.client.Update(ctx, instance); err != nil {
306+
msg := fmt.Sprintf("ReconcileCnsVolumeMetadata: Failed to update status for %q. "+
312307
"Err: %v. Requeueing request.", instance.Name, err)
313308
recordEvent(ctx, r, instance, v1.EventTypeWarning, msg)
314309
return reconcile.Result{RequeueAfter: timeout}, err

0 commit comments

Comments
 (0)