@@ -287,10 +287,14 @@ func (lbc *LoadBalancerController) syncEndp(key string) {
287
287
if ! isNginxIngress (& ing ) {
288
288
continue
289
289
}
290
- ingEx := lbc .createIngress (& ing )
290
+ ingEx , err := lbc .createIngress (& ing )
291
+ if err != nil {
292
+ glog .Warningf ("Error updating endpoints for %v/%v: %v, skipping" , ing .Namespace , ing .Name , err )
293
+ continue
294
+ }
291
295
glog .V (3 ).Infof ("Updating Endpoints for %v/%v" , ing .Name , ing .Namespace )
292
296
name := ing .Namespace + "-" + ing .Name
293
- lbc .cnf .UpdateEndpoints (name , & ingEx )
297
+ lbc .cnf .UpdateEndpoints (name , ingEx )
294
298
}
295
299
}
296
300
@@ -479,8 +483,12 @@ func (lbc *LoadBalancerController) syncIng(key string) {
479
483
glog .V (2 ).Infof ("Adding or Updating Ingress: %v\n " , key )
480
484
481
485
ing := obj .(* extensions.Ingress )
482
- ingEx := lbc .createIngress (ing )
483
- lbc .cnf .AddOrUpdateIngress (name , & ingEx )
486
+ ingEx , err := lbc .createIngress (ing )
487
+ if err != nil {
488
+ lbc .ingQueue .requeueAfter (key , err , 5 * time .Second )
489
+ return
490
+ }
491
+ lbc .cnf .AddOrUpdateIngress (name , ingEx )
484
492
}
485
493
}
486
494
@@ -519,8 +527,8 @@ func (lbc *LoadBalancerController) getIngressForEndpoints(obj interface{}) []ext
519
527
return ings
520
528
}
521
529
522
- func (lbc * LoadBalancerController ) createIngress (ing * extensions.Ingress ) nginx.IngressEx {
523
- ingEx := nginx.IngressEx {
530
+ func (lbc * LoadBalancerController ) createIngress (ing * extensions.Ingress ) ( * nginx.IngressEx , error ) {
531
+ ingEx := & nginx.IngressEx {
524
532
Ingress : ing ,
525
533
}
526
534
@@ -529,8 +537,7 @@ func (lbc *LoadBalancerController) createIngress(ing *extensions.Ingress) nginx.
529
537
secretName := tls .SecretName
530
538
secret , err := lbc .client .Secrets (ing .Namespace ).Get (secretName )
531
539
if err != nil {
532
- glog .Warningf ("Error retrieving secret %v for Ingress %v: %v" , secretName , ing .Name , err )
533
- continue
540
+ return nil , fmt .Errorf ("Error retrieving secret %v for Ingress %v: %v" , secretName , ing .Name , err )
534
541
}
535
542
ingEx .Secrets [secretName ] = secret
536
543
}
@@ -560,7 +567,7 @@ func (lbc *LoadBalancerController) createIngress(ing *extensions.Ingress) nginx.
560
567
}
561
568
}
562
569
563
- return ingEx
570
+ return ingEx , nil
564
571
}
565
572
566
573
func (lbc * LoadBalancerController ) getEndpointsForIngressBackend (backend * extensions.IngressBackend , namespace string ) ([]string , error ) {
0 commit comments