Skip to content

Commit 3933f8b

Browse files
committed
do not reconcile older storageconsumer unless resources are processed
a separate controller will process older storageconsumer owned resources and until then storageconsumer controller should not proceed with reconcililation. Signed-off-by: Leela Venkaiah G <[email protected]>
1 parent fbe4bb7 commit 3933f8b

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

controllers/storageconsumer/storageconsumer_controller.go

+20-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"github.com/red-hat-storage/ocs-operator/v4/controllers/defaults"
3333
"github.com/red-hat-storage/ocs-operator/v4/controllers/util"
3434

35+
"github.com/blang/semver/v4"
3536
"github.com/go-logr/logr"
3637
nbv1 "github.com/noobaa/noobaa-operator/v5/pkg/apis/noobaa/v1alpha1"
3738
rookCephv1 "github.com/rook/rook/pkg/apis/ceph.rook.io/v1"
@@ -161,6 +162,19 @@ func (r *StorageConsumerReconciler) reconcileEnabledPhases() (reconcile.Result,
161162
return reconcile.Result{}, err
162163
}
163164

165+
if storageCluster.Spec.AllowRemoteStorageConsumers {
166+
clientOperatorVersion, err := semver.Parse(r.storageConsumer.Status.Client.OperatorVersion)
167+
if err != nil {
168+
return reconcile.Result{}, fmt.Errorf("malformed ClientOperatorVersion: %v", err)
169+
}
170+
consumerProcessed, exist := r.storageConsumer.GetAnnotations()[util.StorageConsumer418ProcessedAnnotationKey]
171+
if clientOperatorVersion.Major == 4 &&
172+
clientOperatorVersion.Minor == 18 &&
173+
(!exist || consumerProcessed == util.StorageConsumer418ProcessedAnnotationPending) {
174+
return reconcile.Result{}, nil
175+
}
176+
}
177+
164178
availableServices, err := util.GetAvailableServices(r.ctx, r.Client, storageCluster)
165179
if err != nil {
166180
return reconcile.Result{}, err
@@ -756,7 +770,12 @@ func (r *StorageConsumerReconciler) SetupWithManager(mgr ctrl.Manager) error {
756770
)
757771

758772
return ctrl.NewControllerManagedBy(mgr).
759-
For(&ocsv1alpha1.StorageConsumer{}, builder.WithPredicates(predicate.GenerationChangedPredicate{})).
773+
For(&ocsv1alpha1.StorageConsumer{}, builder.WithPredicates(
774+
predicate.Or(
775+
predicate.GenerationChangedPredicate{},
776+
predicate.AnnotationChangedPredicate{},
777+
),
778+
)).
760779
Owns(&nbv1.NooBaaAccount{}).
761780
Owns(&corev1.ConfigMap{}, builder.MatchEveryOwner).
762781
Owns(

0 commit comments

Comments
 (0)