Skip to content

Commit 451783b

Browse files
authored
Merge pull request #25 from bswartz/resource-version-check
Don't reprocess objects
2 parents 741249f + e498fd1 commit 451783b

File tree

2 files changed

+11
-20
lines changed

2 files changed

+11
-20
lines changed

cmd/volume-data-source-validator/main.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,9 @@ import (
4646

4747
// Command line flags
4848
var (
49-
kubeconfig = flag.String("kubeconfig", "", "Absolute path to the kubeconfig file. Required only when running out of cluster.")
50-
resyncPeriod = flag.Duration("resync-period", 60*time.Second, "Resync interval of the controller.")
51-
showVersion = flag.Bool("version", false, "Show version.")
52-
threads = flag.Int("worker-threads", 10, "Number of worker threads.")
49+
kubeconfig = flag.String("kubeconfig", "", "Absolute path to the kubeconfig file. Required only when running out of cluster.")
50+
showVersion = flag.Bool("version", false, "Show version.")
51+
threads = flag.Int("worker-threads", 10, "Number of worker threads.")
5352

5453
leaderElection = flag.Bool("leader-election", false, "Enables leader election.")
5554
leaderElectionNamespace = flag.String("leader-election-namespace", "", "The namespace where the leader election resource exists. Defaults to the pod namespace if not set.")
@@ -94,8 +93,8 @@ func main() {
9493
klog.Fatalf("Failed to create dynamic client: %v", err)
9594
}
9695

97-
coreFactory := coreinformers.NewSharedInformerFactory(kubeClient, *resyncPeriod)
98-
dynFactory := dynamicinformer.NewDynamicSharedInformerFactory(dynClient, *resyncPeriod)
96+
coreFactory := coreinformers.NewSharedInformerFactory(kubeClient, 0)
97+
dynFactory := dynamicinformer.NewDynamicSharedInformerFactory(dynClient, 0)
9998

10099
// Create and register metrics manager
101100
metricsManager := metrics.NewMetricsManager()
@@ -112,15 +111,14 @@ func main() {
112111
}
113112
popv1beta1.AddToScheme(scheme.Scheme)
114113

115-
klog.V(2).Infof("Start NewDataSourceValidator with kubeconfig [%s] resyncPeriod [%+v]", *kubeconfig, *resyncPeriod)
114+
klog.V(2).Infof("Start NewDataSourceValidator with kubeconfig [%s]", *kubeconfig)
116115

117116
ctrl := popcontroller.NewDataSourceValidator(
118117
dynClient,
119118
kubeClient,
120119
dynFactory.ForResource(popcontroller.PopulatorResource).Informer(),
121120
coreFactory.Core().V1().PersistentVolumeClaims(),
122121
metricsManager,
123-
*resyncPeriod,
124122
)
125123

126124
run := func(context.Context) {

pkg/data-source-validator/data_source_validator.go

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ package data_source_validator
1818

1919
import (
2020
"fmt"
21-
"time"
2221

22+
volumesnapshotv1 "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1"
23+
popv1beta1 "github.com/kubernetes-csi/volume-data-source-validator/client/apis/volumepopulator/v1beta1"
2324
v1 "k8s.io/api/core/v1"
2425
"k8s.io/apimachinery/pkg/api/errors"
2526
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -39,9 +40,6 @@ import (
3940
"k8s.io/client-go/util/workqueue"
4041
"k8s.io/klog/v2"
4142

42-
volumesnapshotv1 "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1"
43-
44-
popv1beta1 "github.com/kubernetes-csi/volume-data-source-validator/client/apis/volumepopulator/v1beta1"
4543
"github.com/kubernetes-csi/volume-data-source-validator/pkg/metrics"
4644
)
4745

@@ -57,8 +55,6 @@ type populatorController struct {
5755
pvcListerSynced cache.InformerSynced
5856

5957
metrics metrics.MetricsManager
60-
61-
resyncPeriod time.Duration
6258
}
6359

6460
var (
@@ -74,7 +70,6 @@ func NewDataSourceValidator(
7470
volumePopulatorInformer cache.SharedIndexInformer,
7571
pvcInformer coreinformers.PersistentVolumeClaimInformer,
7672
metrics metrics.MetricsManager,
77-
resyncPeriod time.Duration,
7873
) *populatorController {
7974
broadcaster := record.NewBroadcaster()
8075
broadcaster.StartLogging(klog.Infof)
@@ -87,17 +82,15 @@ func NewDataSourceValidator(
8782
client: client,
8883
eventRecorder: eventRecorder,
8984
metrics: metrics,
90-
resyncPeriod: resyncPeriod,
9185
queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "pvc"),
9286
}
9387

94-
pvcInformer.Informer().AddEventHandlerWithResyncPeriod(
88+
pvcInformer.Informer().AddEventHandler(
9589
cache.ResourceEventHandlerFuncs{
96-
AddFunc: func(obj interface{}) { ctrl.enqueueWork(obj) },
90+
AddFunc: ctrl.enqueueWork,
9791
UpdateFunc: func(oldObj, newObj interface{}) { ctrl.enqueueWork(newObj) },
98-
DeleteFunc: func(obj interface{}) { ctrl.enqueueWork(obj) },
92+
DeleteFunc: ctrl.enqueueWork,
9993
},
100-
ctrl.resyncPeriod,
10194
)
10295
ctrl.pvcLister = pvcInformer.Lister()
10396
ctrl.pvcListerSynced = pvcInformer.Informer().HasSynced

0 commit comments

Comments
 (0)