Controller: Fail annotation parsing fast and report errors. (#11740)
This commit is contained in:
parent
6ceccbd67b
commit
a5cd15d74a
1 changed files with 6 additions and 0 deletions
|
@ -240,6 +240,8 @@ type k8sStore struct {
|
||||||
backendConfigMu *sync.RWMutex
|
backendConfigMu *sync.RWMutex
|
||||||
|
|
||||||
defaultSSLCertificate string
|
defaultSSLCertificate string
|
||||||
|
|
||||||
|
recorder record.EventRecorder
|
||||||
}
|
}
|
||||||
|
|
||||||
// New creates a new object store to be used in the ingress controller.
|
// New creates a new object store to be used in the ingress controller.
|
||||||
|
@ -279,6 +281,7 @@ func New(
|
||||||
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{
|
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{
|
||||||
Component: "nginx-ingress-controller",
|
Component: "nginx-ingress-controller",
|
||||||
})
|
})
|
||||||
|
store.recorder = recorder
|
||||||
|
|
||||||
// k8sStore fulfills resolver.Resolver interface
|
// k8sStore fulfills resolver.Resolver interface
|
||||||
store.annotations = annotations.NewAnnotationExtractor(store)
|
store.annotations = annotations.NewAnnotationExtractor(store)
|
||||||
|
@ -938,6 +941,9 @@ func (s *k8sStore) syncIngress(ing *networkingv1.Ingress) {
|
||||||
klog.Error(err)
|
klog.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if parsed.Denied != nil {
|
||||||
|
s.recorder.Eventf(ing, corev1.EventTypeWarning, "AnnotationParsingFailed", fmt.Sprintf("Error parsing annotations: %v", *parsed.Denied))
|
||||||
|
}
|
||||||
err = s.listers.IngressWithAnnotation.Update(&ingress.Ingress{
|
err = s.listers.IngressWithAnnotation.Update(&ingress.Ingress{
|
||||||
Ingress: *copyIng,
|
Ingress: *copyIng,
|
||||||
ParsedAnnotations: parsed,
|
ParsedAnnotations: parsed,
|
||||||
|
|
Loading…
Reference in a new issue