@@ -272,10 +272,10 @@ func NewMPIJobController(
272
272
podInformer coreinformers.PodInformer ,
273
273
priorityClassInformer schedulinginformers.PriorityClassInformer ,
274
274
mpiJobInformer informers.MPIJobInformer ,
275
- namespace , gangSchedulingName string ) (* MPIJobController , error ) {
275
+ namespace , gangSchedulingName string , failInformersOnErr bool ) (* MPIJobController , error ) {
276
276
return NewMPIJobControllerWithClock (kubeClient , kubeflowClient , volcanoClient , schedClient ,
277
277
configMapInformer , secretInformer , serviceInformer , jobInformer , podInformer ,
278
- priorityClassInformer , mpiJobInformer , & clock.RealClock {}, namespace , gangSchedulingName )
278
+ priorityClassInformer , mpiJobInformer , & clock.RealClock {}, namespace , gangSchedulingName , failInformersOnErr )
279
279
}
280
280
281
281
// NewMPIJobControllerWithClock returns a new MPIJob controller.
@@ -292,7 +292,7 @@ func NewMPIJobControllerWithClock(
292
292
priorityClassInformer schedulinginformers.PriorityClassInformer ,
293
293
mpiJobInformer informers.MPIJobInformer ,
294
294
clock clock.WithTicker ,
295
- namespace , gangSchedulingName string ) (* MPIJobController , error ) {
295
+ namespace , gangSchedulingName string , failInformersOnErr bool ) (* MPIJobController , error ) {
296
296
297
297
// Create event broadcaster.
298
298
klog .V (4 ).Info ("Creating event broadcaster" )
@@ -346,30 +346,32 @@ func NewMPIJobControllerWithClock(
346
346
347
347
controller .updateStatusHandler = controller .doUpdateJobStatus
348
348
349
- // Set up error handlers for informers
350
- klog .Info ("Setting up informer error handlers" )
351
- informers := map [string ]cache.SharedIndexInformer {
352
- "configMapInformer" : configMapInformer .Informer (),
353
- "secretInformer" : secretInformer .Informer (),
354
- "serviceInformer" : serviceInformer .Informer (),
355
- "jobInformer" : jobInformer .Informer (),
356
- "podInformer" : podInformer .Informer (),
357
- "priorityClassInformer" : priorityClassInformer .Informer (),
358
- "mpiJobInformer" : mpiJobInformer .Informer (),
359
- }
360
-
361
- for name , informer := range informers {
362
- err := informer .SetWatchErrorHandler (func (r * cache.Reflector , err error ) {
363
- // Pipe to default handler first, which just logs the error
364
- cache .DefaultWatchErrorHandler (r , err )
365
-
366
- if errors .IsUnauthorized (err ) || errors .IsForbidden (err ) {
367
- klog .Fatalf ("Unable to sync cache for informer %s: %s. Exiting." , name , err )
368
- }
369
- })
349
+ // Set up error handlers for informers if asked to do so
350
+ if failInformersOnErr {
351
+ klog .Info ("Setting up informer error handlers" )
352
+ informers := map [string ]cache.SharedInformer {
353
+ "configMapInformer" : configMapInformer .Informer (),
354
+ "secretInformer" : secretInformer .Informer (),
355
+ "serviceInformer" : serviceInformer .Informer (),
356
+ "jobInformer" : jobInformer .Informer (),
357
+ "podInformer" : podInformer .Informer (),
358
+ "priorityClassInformer" : priorityClassInformer .Informer (),
359
+ "mpiJobInformer" : mpiJobInformer .Informer (),
360
+ }
370
361
371
- if err != nil {
372
- klog .Fatalf ("Unable to set error handler for informer %s: %s. Exiting." , name , err )
362
+ for name , informer := range informers {
363
+ err := informer .SetWatchErrorHandler (func (r * cache.Reflector , err error ) {
364
+ // Pipe to default handler first, which just logs the error
365
+ cache .DefaultWatchErrorHandler (r , err )
366
+
367
+ if errors .IsUnauthorized (err ) || errors .IsForbidden (err ) {
368
+ klog .Fatalf ("Unable to sync cache for informer %s: %s. Exiting." , name , err )
369
+ }
370
+ })
371
+
372
+ if err != nil {
373
+ klog .Fatalf ("Unable to set error handler for informer %s: %s. Exiting." , name , err )
374
+ }
373
375
}
374
376
}
375
377
0 commit comments