Skip to content

Commit c81cea8

Browse files
committed
Update for the newest version.
1 parent dcd8268 commit c81cea8

4 files changed

Lines changed: 23 additions & 17 deletions

File tree

‎controllers/gitopsset_controller.go‎

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const (
5252
)
5353

5454
type eventRecorder interface {
55-
Event(object runtime.Object, eventType, reason, message string)
55+
Eventf(object runtime.Object, related runtime.Object, eventtype, reason string, action string, messageFmt string, args ...any)
5656
}
5757

5858
// GitOpsSetReconciler reconciles a GitOpsSet object
@@ -70,7 +70,7 @@ type GitOpsSetReconciler struct {
7070
}
7171

7272
// event emits a Kubernetes event using EventRecorder
73-
func (r *GitOpsSetReconciler) event(obj *templatesv1.GitOpsSet, severity, msg string) {
73+
func (r *GitOpsSetReconciler) event(obj *templatesv1.GitOpsSet, severity, msg string, args ...any) {
7474
reason := conditions.GetReason(obj, fluxMeta.ReadyCondition)
7575
if reason == "" {
7676
reason = severity
@@ -81,7 +81,7 @@ func (r *GitOpsSetReconciler) event(obj *templatesv1.GitOpsSet, severity, msg st
8181
eventType = corev1.EventTypeWarning
8282
}
8383

84-
r.EventRecorder.Event(obj, eventType, reason, msg)
84+
r.EventRecorder.Eventf(obj, nil, eventType, reason, "", msg, args...)
8585
}
8686

8787
//+kubebuilder:rbac:groups=sets.gitops.pro,resources=gitopssets,verbs=get;list;watch;create;update;patch;delete
@@ -160,9 +160,9 @@ func (r *GitOpsSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
160160

161161
// Log and emit success event.
162162
if r.EventRecorder != nil && templatesv1.GetGitOpsSetReadiness(&gitOpsSet) == metav1.ConditionTrue {
163-
msg := fmt.Sprintf("Reconciliation finished in %s",
163+
r.event(&gitOpsSet, eventv1.EventSeverityInfo, "Reconciliation finished in %s",
164164
time.Since(reconcileStart).String())
165-
r.event(&gitOpsSet, eventv1.EventSeverityInfo, msg)
165+
166166
}
167167
}()
168168

@@ -184,8 +184,7 @@ func (r *GitOpsSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
184184
if err := r.patchStatus(ctx, req, gitOpsSet.Status); err != nil {
185185
logger.Error(err, "failed to reconcile")
186186
}
187-
msg := fmt.Sprintf("Reconciliation failed after %s", time.Since(reconcileStart).String())
188-
r.event(&gitOpsSet, eventv1.EventSeverityError, msg)
187+
r.event(&gitOpsSet, eventv1.EventSeverityError, "Reconciliation failed after %s", time.Since(reconcileStart).String())
189188

190189
return ctrl.Result{}, err
191190
}
@@ -197,8 +196,7 @@ func (r *GitOpsSetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
197196
if err := r.patchStatus(ctx, req, gitOpsSet.Status); err != nil {
198197
logger.Error(err, "failed to reconcile")
199198
templatesv1.SetGitOpsSetReadiness(&gitOpsSet, inventory, metav1.ConditionFalse, templatesv1.ReconciliationFailedReason, err.Error())
200-
msg := "Status and inventory update failed after reconciliation"
201-
r.event(&gitOpsSet, eventv1.EventSeverityError, msg)
199+
r.event(&gitOpsSet, eventv1.EventSeverityError, "Status and inventory update failed after reconciliation")
202200

203201
return ctrl.Result{}, fmt.Errorf("failed to update status and inventory: %w", err)
204202
}

‎main.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ func main() {
155155
os.Exit(1)
156156
}
157157
metricsH := runtimeCtrl.NewMetrics(mgr, metrics.MustMakeRecorder(), templatesv1.GitOpsSetFinalizer)
158-
var eventRecorder *events.Recorder
159-
if eventRecorder, err = events.NewRecorder(mgr, ctrl.Log, eventsAddr, controllerName); err != nil {
158+
var eventRecorder events.Recorder
159+
if eventRecorder, err = events.NewRecorder(ctrl.Log, eventsAddr, controllerName, events.WithManager(mgr)); err != nil {
160160
setupLog.Error(err, "unable to create event recorder")
161161
os.Exit(1)
162162
}

‎test/events.go‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package test
22

33
import (
4+
"fmt"
5+
46
"k8s.io/apimachinery/pkg/runtime"
57
)
68

@@ -14,15 +16,21 @@ type EventData struct {
1416
EventType string
1517
Reason string
1618
Message string
19+
Action string
20+
Object runtime.Object
21+
Related runtime.Object
1722
}
1823

1924
// Event records a new event in the slice of the fake event recorder used in a test
2025
// The interface using Event is the EventRecorder interface
21-
func (f *FakeEventRecorder) Event(object runtime.Object, eventtype, reason, message string) {
26+
func (f *FakeEventRecorder) Eventf(object, related runtime.Object, eventtype, reason string, action string, messageFmt string, args ...any) {
2227
event := &EventData{
28+
Object: object,
29+
Related: related,
2330
EventType: eventtype,
2431
Reason: reason,
25-
Message: message,
32+
Action: action,
33+
Message: fmt.Sprintf(messageFmt, args...),
2634
}
2735
f.Events = append(f.Events, event)
2836
}

‎tests/e2e/gitopsset_controller_test.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -967,7 +967,7 @@ func TestEventsWithReconciling(t *testing.T) {
967967
EventType: "Normal",
968968
Reason: "ReconciliationSucceeded",
969969
}
970-
compareWant := gomega.BeComparableTo(want, cmpopts.IgnoreFields(test.EventData{}, "Message"))
970+
compareWant := gomega.BeComparableTo(want, cmpopts.IgnoreFields(test.EventData{}, "Message", "Object", "Related"))
971971

972972
g := gomega.NewWithT(t)
973973

@@ -1024,7 +1024,7 @@ func TestEventsWithFailingReconciling(t *testing.T) {
10241024
defer deleteGitOpsSetAndWaitForNotFound(t, testEnv, gs)
10251025

10261026
g := gomega.NewWithT(t)
1027-
g.Eventually(func() bool {
1027+
g.Eventually(func() string {
10281028
// reconciliation should fail because there is an existing resource.
10291029
want := []*test.EventData{
10301030
{
@@ -1033,8 +1033,8 @@ func TestEventsWithFailingReconciling(t *testing.T) {
10331033
},
10341034
}
10351035

1036-
return cmp.Diff(want, eventRecorder.Events, cmpopts.IgnoreFields(test.EventData{}, "Message")) == ""
1037-
}, timeout).Should(gomega.BeTrue())
1036+
return cmp.Diff(want, eventRecorder.Events, cmpopts.IgnoreFields(test.EventData{}, "Message", "Object", "Related"))
1037+
}, timeout).Should(gomega.Equal(""))
10381038
}
10391039

10401040
func deleteGitOpsSetAndWaitForNotFound(t *testing.T, cl client.Client, gs *templatesv1.GitOpsSet) {

0 commit comments

Comments
 (0)