1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-31 03:45:17 +00:00

feat(events): normalize gctx events reason to be inline with other po… (#10395)

* feat(events): normalize gctx events reason to be inline with other policies

Signed-off-by: Khaled Emara <khaled.emara@nirmata.com>

* chore(events): hide queue limit messages at a higher level

Signed-off-by: Khaled Emara <khaled.emara@nirmata.com>

* test(gctx): add factory test

Signed-off-by: Khaled Emara <khaled.emara@nirmata.com>

---------

Signed-off-by: Khaled Emara <khaled.emara@nirmata.com>
Co-authored-by: Mariam Fahmy <mariam.fahmy@nirmata.com>
This commit is contained in:
Khaled Emara 2024-07-04 16:12:48 +03:00 committed by GitHub
parent a19602d80f
commit c2a9e9ef69
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 55 additions and 11 deletions

View file

@ -77,7 +77,7 @@ func (gen *controller) Add(infos ...Info) {
logger := gen.logger logger := gen.logger
logger.V(3).Info("generating events", "count", len(infos)) logger.V(3).Info("generating events", "count", len(infos))
if gen.maxQueuedEvents == 0 || gen.queue.Len() > gen.maxQueuedEvents { if gen.maxQueuedEvents == 0 || gen.queue.Len() > gen.maxQueuedEvents {
logger.V(2).Info("exceeds the event queue limit, dropping the event", "maxQueuedEvents", gen.maxQueuedEvents, "current size", gen.queue.Len()) logger.V(3).Info("exceeds the event queue limit, dropping the event", "maxQueuedEvents", gen.maxQueuedEvents, "current size", gen.queue.Len())
return return
} }
for _, info := range infos { for _, info := range infos {

View file

@ -10,11 +10,11 @@ const (
action = "Retrying" action = "Retrying"
) )
func NewErrorEvent(regarding corev1.ObjectReference, reason event.Reason, err error) event.Info { func NewErrorEvent(regarding corev1.ObjectReference, err error) event.Info {
return event.Info{ return event.Info{
Regarding: regarding, Regarding: regarding,
Source: source, Source: source,
Reason: reason, Reason: event.PolicyError,
Message: err.Error(), Message: err.Error(),
Action: action, Action: action,
Type: corev1.EventTypeWarning, Type: corev1.EventTypeWarning,

View file

@ -0,0 +1,47 @@
package event
import (
"fmt"
"testing"
"github.com/kyverno/kyverno/pkg/event"
corev1 "k8s.io/api/core/v1"
)
func TestNewErrorEvent(t *testing.T) {
regarding := corev1.ObjectReference{
Kind: "Pod",
Namespace: "default",
Name: "test-pod",
UID: "12345",
APIVersion: "v1",
}
err := fmt.Errorf("some error")
generated_event := NewErrorEvent(regarding, err)
if generated_event.Regarding != regarding {
t.Errorf("Expected Regarding to be %v, but got %v", regarding, generated_event.Regarding)
}
if generated_event.Source != source {
t.Errorf("Expected Source to be %s, but got %s", source, generated_event.Source)
}
if generated_event.Reason != event.PolicyError {
t.Errorf("Expected Reason to be %s, but got %s", event.PolicyError, generated_event.Reason)
}
if generated_event.Message != err.Error() {
t.Errorf("Expected Message to be %s, but got %s", err.Error(), generated_event.Message)
}
if generated_event.Action != action {
t.Errorf("Expected Action to be %s, but got %s", action, generated_event.Action)
}
if generated_event.Type != corev1.EventTypeWarning {
t.Errorf("Expected Type to be %s, but got %s", corev1.EventTypeWarning, generated_event.Type)
}
}

View file

@ -1,8 +1,5 @@
package event package event
const ( const (
ReasonResourceListFailure = "FailedToList" ReasonAPICallFailure = "FailedToCallAPI"
ReasonAPICallFailure = "FailedToCallAPI"
ReasonCacheSyncFailure = "FailedToWaitForCacheSync"
ReasonInformerRunFailure = "ReasonInformerRunFailure"
) )

View file

@ -70,7 +70,7 @@ func New(
Name: gce.Name, Name: gce.Name,
Namespace: gce.Namespace, Namespace: gce.Namespace,
UID: gce.UID, UID: gce.UID,
}, entryevent.ReasonAPICallFailure, err)) }, err))
if shouldUpdateStatus { if shouldUpdateStatus {
if updateErr := updateStatus(ctx, gce.Name, kyvernoClient, false, entryevent.ReasonAPICallFailure); updateErr != nil { if updateErr := updateStatus(ctx, gce.Name, kyvernoClient, false, entryevent.ReasonAPICallFailure); updateErr != nil {

View file

@ -69,7 +69,7 @@ func New(
Name: gce.Name, Name: gce.Name,
Namespace: gce.Namespace, Namespace: gce.Namespace,
UID: gce.UID, UID: gce.UID,
}, entryevent.ReasonInformerRunFailure, eventErr)) }, eventErr))
stop() stop()
}) })
@ -97,7 +97,7 @@ func New(
Name: gce.Name, Name: gce.Name,
Namespace: gce.Namespace, Namespace: gce.Namespace,
UID: gce.UID, UID: gce.UID,
}, entryevent.ReasonCacheSyncFailure, err)) }, err))
return nil, err return nil, err
} }
@ -124,7 +124,7 @@ func (e *entry) Get() (any, error) {
Name: e.gce.Name, Name: e.gce.Name,
Namespace: e.gce.Namespace, Namespace: e.gce.Namespace,
UID: e.gce.UID, UID: e.gce.UID,
}, entryevent.ReasonResourceListFailure, err)) }, err))
return nil, err return nil, err
} }
return obj, nil return obj, nil