report annotation parsing errors as events

This commit is contained in:
Johannes Rudolph 2024-08-06 11:43:55 +02:00 committed by k8s-infra-cherrypick-robot
parent 0e4f529f2b
commit 13feab4788
2 changed files with 7 additions and 2 deletions

View file

@ -209,7 +209,8 @@ func (e Extractor) Extract(ing *networking.Ingress) (*Ingress, error) {
val = nil
}
_, alreadyDenied := data[DeniedKeyName]
return nil, err
/* _, alreadyDenied := data[DeniedKeyName]
if !alreadyDenied {
errString := err.Error()
data[DeniedKeyName] = &errString
@ -217,7 +218,7 @@ func (e Extractor) Extract(ing *networking.Ingress) (*Ingress, error) {
continue
}
klog.V(5).ErrorS(err, "error reading Ingress annotation", "name", name, "ingress", klog.KObj(ing))
klog.V(5).ErrorS(err, "error reading Ingress annotation", "name", name, "ingress", klog.KObj(ing)) */
}
if val != nil {

View file

@ -240,6 +240,8 @@ type k8sStore struct {
backendConfigMu *sync.RWMutex
defaultSSLCertificate string
recorder record.EventRecorder
}
// 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{
Component: "nginx-ingress-controller",
})
store.recorder = recorder
// k8sStore fulfills resolver.Resolver interface
store.annotations = annotations.NewAnnotationExtractor(store)
@ -935,6 +938,7 @@ func (s *k8sStore) syncIngress(ing *networkingv1.Ingress) {
parsed, err := s.annotations.Extract(ing)
if err != nil {
s.recorder.Eventf(ing, corev1.EventTypeWarning, "AnnotationParsingFailed", fmt.Sprintf("Error parsing annotations: %v", err))
klog.Error(err)
return
}