@@ -95,7 +95,9 @@ type cloudCIDRAllocator struct {
9595 // NewCloudCIDRAllocator.
9696 nodeLister corelisters.NodeLister
9797 // nodesSynced returns true if the node shared informer has been synced at least once.
98- nodesSynced cache.InformerSynced
98+ nodesSynced cache.InformerSynced
99+ networksSynced cache.InformerSynced
100+ gnpsSynced cache.InformerSynced
99101
100102 recorder record.EventRecorder
101103 queue workqueue.RateLimitingInterface
@@ -147,6 +149,8 @@ func NewCloudCIDRAllocator(client clientset.Interface, cloud cloudprovider.Inter
147149 gnpLister : gnpInformer .Lister (),
148150 nodeLister : nodeInformer .Lister (),
149151 nodesSynced : nodeInformer .Informer ().HasSynced ,
152+ networksSynced : nwInformer .Informer ().HasSynced ,
153+ gnpsSynced : gnpInformer .Informer ().HasSynced ,
150154 recorder : recorder ,
151155 queue : workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (), workqueue.RateLimitingQueueConfig {Name : workqueueName }),
152156 stackType : stackType ,
@@ -289,7 +293,12 @@ func (ca *cloudCIDRAllocator) Run(stopCh <-chan struct{}) {
289293 klog .Infof ("Starting cloud CIDR allocator" )
290294 defer klog .Infof ("Shutting down cloud CIDR allocator" )
291295
292- if ! cache .WaitForNamedCacheSync ("cidrallocator" , stopCh , ca .nodesSynced ) {
296+ syncFuncs := []cache.InformerSynced {ca .nodesSynced }
297+ if ca .enableMultiNetworking {
298+ syncFuncs = append (syncFuncs , ca .networksSynced , ca .gnpsSynced )
299+ }
300+
301+ if ! cache .WaitForNamedCacheSync ("cidrallocator" , stopCh , syncFuncs ... ) {
293302 return
294303 }
295304
0 commit comments