@@ -21,6 +21,7 @@ import (
2121 "sync"
2222 "time"
2323
24+ snapclientset "github.com/kubernetes-csi/external-snapshotter/client/v8/clientset/versioned"
2425 "github.com/kubernetes-csi/external-snapshotter/client/v8/informers/externalversions"
2526 "k8s.io/client-go/informers"
2627 v1 "k8s.io/client-go/informers/core/v1"
@@ -45,8 +46,6 @@ const (
4546)
4647
4748var (
48- inClusterInformerManagerInstance * InformerManager = nil
49- inClusterInformerInstanceLock = & sync.Mutex {}
5049 supervisorInformerManagerInstance * InformerManager = nil
5150 supervisorInformerInstanceLock = & sync.Mutex {}
5251)
@@ -55,48 +54,30 @@ func noResyncPeriodFunc() time.Duration {
5554 return 0
5655}
5756
58- // NewInformer creates a new K8S client based on a service account .
59- // NOTE: This function expects caller function to pass appropriate client
57+ // NewInformer creates a new K8S informer manager .
58+ // NOTE: This function expects caller function to pass appropriate clients
6059// as per config to be created Informer for.
61- // This function creates shared informer factory against the client provided.
62- func NewInformer (ctx context.Context , client clientset.Interface , inClusterClnt bool ) * InformerManager {
60+ // This function creates shared informer factories against the clients provided.
61+ func NewInformer (ctx context.Context ,
62+ client clientset.Interface ,
63+ snapshotClient snapclientset.Interface ) * InformerManager {
6364 var informerInstance * InformerManager
6465 log := logger .GetLogger (ctx )
6566
66- if inClusterClnt {
67- inClusterInformerInstanceLock .Lock ()
68- defer inClusterInformerInstanceLock .Unlock ()
69-
70- informerInstance = inClusterInformerManagerInstance
71- } else {
72- supervisorInformerInstanceLock .Lock ()
73- defer supervisorInformerInstanceLock .Unlock ()
74-
75- informerInstance = supervisorInformerManagerInstance
76- }
77-
78- // TODO: check if callers can pass this
79- snapClient , err := NewSnapshotterClient (ctx )
80- if err != nil {
81- // TODO: handle error appropriately
82- log .Fatalf ("unable to initialise snapshot client" )
83- }
67+ supervisorInformerInstanceLock .Lock ()
68+ defer supervisorInformerInstanceLock .Unlock ()
69+ informerInstance = supervisorInformerManagerInstance
8470
8571 if informerInstance == nil {
8672 informerInstance = & InformerManager {
8773 client : client ,
8874 stopCh : signals .SetupSignalHandler ().Done (),
8975 informerFactory : informers .NewSharedInformerFactory (client , noResyncPeriodFunc ()),
90- snapshotInformerFactory : externalversions .NewSharedInformerFactory (snapClient , 0 ),
76+ snapshotInformerFactory : externalversions .NewSharedInformerFactory (snapshotClient , 0 ),
9177 }
9278
93- if inClusterClnt {
94- inClusterInformerManagerInstance = informerInstance
95- log .Info ("Created new informer factory for in-cluster client" )
96- } else {
97- supervisorInformerManagerInstance = informerInstance
98- log .Info ("Created new informer factory for supervisor client" )
99- }
79+ supervisorInformerManagerInstance = informerInstance
80+ log .Info ("Created new informer factory for supervisor client" )
10081 }
10182
10283 return informerInstance
0 commit comments