@@ -31,7 +31,6 @@ import (
3131 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3232 "k8s.io/apimachinery/pkg/labels"
3333 "k8s.io/apimachinery/pkg/runtime"
34- "k8s.io/apimachinery/pkg/selection"
3534 "k8s.io/apimachinery/pkg/types"
3635 "k8s.io/client-go/tools/record"
3736 ctrl "sigs.k8s.io/controller-runtime"
@@ -492,36 +491,19 @@ func (r *VolumeGroupReplicationReconciler) setGroupReplicationFailure(
492491func (r * VolumeGroupReplicationReconciler ) getMatchingPVCsFromSource (instance * replicationv1alpha1.VolumeGroupReplication ) ([]corev1.PersistentVolumeClaim , string , error ) {
493492
494493 pvcList := corev1.PersistentVolumeClaimList {}
495- newSelector := labels .NewSelector ()
496494
497- if instance .Spec .Source .Selector .MatchLabels != nil {
498- for key , value := range instance .Spec .Source .Selector .MatchLabels {
499- req , err := labels .NewRequirement (key , selection .Equals , []string {value })
500- if err != nil {
501- r .log .Error (err , "failed to add label selector requirement" , "Selector Key" , key , "Selector Value" , value )
502- return nil , "" , err
503- }
504- newSelector = newSelector .Add (* req )
505- }
495+ selector , err := metav1 .LabelSelectorAsSelector (instance .Spec .Source .Selector )
496+ if err != nil {
497+ return nil , "" , err
506498 }
507499
508- if instance .Spec .Source .Selector .MatchExpressions != nil {
509- for _ , labelExp := range instance .Spec .Source .Selector .MatchExpressions {
510- req , err := labels .NewRequirement (labelExp .Key , selection .Operator (labelExp .Operator ), labelExp .Values )
511- if err != nil {
512- r .log .Error (err , "failed to add label selector requirement" , "Selector Key" , labelExp .Key , "Selector Values" , labelExp .Values )
513- return nil , "" , err
514- }
515- newSelector = newSelector .Add (* req )
516- }
517- }
518500 opts := []client.ListOption {
519- client.MatchingLabelsSelector {Selector : newSelector },
501+ client.MatchingLabelsSelector {Selector : selector },
520502 client .InNamespace (instance .Namespace ),
521503 }
522- err : = r .List (r .ctx , & pvcList , opts ... )
504+ err = r .List (r .ctx , & pvcList , opts ... )
523505 if err != nil {
524- r .log .Error (err , "failed to list pvcs with the given selectors" , "Selector" , newSelector .String ())
506+ r .log .Error (err , "failed to list pvcs with the given selectors" , "Selector" , selector .String ())
525507 return nil , "" , err
526508 }
527509
@@ -536,7 +518,7 @@ func (r *VolumeGroupReplicationReconciler) getMatchingPVCsFromSource(instance *r
536518 }
537519 }
538520
539- return pvcList .Items , newSelector .String (), nil
521+ return pvcList .Items , selector .String (), nil
540522}
541523
542524// getPVHandles fetches the PV handles for the respective PVCs
0 commit comments