1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-29 02:45:06 +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.V(3).Info("generating events", "count", len(infos))
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
}
for _, info := range infos {

View file

@ -10,11 +10,11 @@ const (
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{
Regarding: regarding,
Source: source,
Reason: reason,
Reason: event.PolicyError,
Message: err.Error(),
Action: action,
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
const (
ReasonResourceListFailure = "FailedToList"
ReasonAPICallFailure = "FailedToCallAPI"
ReasonCacheSyncFailure = "FailedToWaitForCacheSync"
ReasonInformerRunFailure = "ReasonInformerRunFailure"
ReasonAPICallFailure = "FailedToCallAPI"
)

View file

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

View file

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