Skip to content

Commit 5dc540f

Browse files
committed
k8s.io/client-go/tools/events: pass context into EventSink methods
Because the EventBroadcaster code now has a a context, changing the EventSink interface so that the methods accepts a context instead of using context.TODO becomes possible.
1 parent 27a68ae commit 5dc540f

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

staging/src/k8s.io/client-go/tools/events/event_broadcaster.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,27 +81,27 @@ type EventSinkImpl struct {
8181
}
8282

8383
// Create takes the representation of a event and creates it. Returns the server's representation of the event, and an error, if there is any.
84-
func (e *EventSinkImpl) Create(event *eventsv1.Event) (*eventsv1.Event, error) {
84+
func (e *EventSinkImpl) Create(ctx context.Context, event *eventsv1.Event) (*eventsv1.Event, error) {
8585
if event.Namespace == "" {
8686
return nil, fmt.Errorf("can't create an event with empty namespace")
8787
}
88-
return e.Interface.Events(event.Namespace).Create(context.TODO(), event, metav1.CreateOptions{})
88+
return e.Interface.Events(event.Namespace).Create(ctx, event, metav1.CreateOptions{})
8989
}
9090

9191
// Update takes the representation of a event and updates it. Returns the server's representation of the event, and an error, if there is any.
92-
func (e *EventSinkImpl) Update(event *eventsv1.Event) (*eventsv1.Event, error) {
92+
func (e *EventSinkImpl) Update(ctx context.Context, event *eventsv1.Event) (*eventsv1.Event, error) {
9393
if event.Namespace == "" {
9494
return nil, fmt.Errorf("can't update an event with empty namespace")
9595
}
96-
return e.Interface.Events(event.Namespace).Update(context.TODO(), event, metav1.UpdateOptions{})
96+
return e.Interface.Events(event.Namespace).Update(ctx, event, metav1.UpdateOptions{})
9797
}
9898

9999
// Patch applies the patch and returns the patched event, and an error, if there is any.
100-
func (e *EventSinkImpl) Patch(event *eventsv1.Event, data []byte) (*eventsv1.Event, error) {
100+
func (e *EventSinkImpl) Patch(ctx context.Context, event *eventsv1.Event, data []byte) (*eventsv1.Event, error) {
101101
if event.Namespace == "" {
102102
return nil, fmt.Errorf("can't patch an event with empty namespace")
103103
}
104-
return e.Interface.Events(event.Namespace).Patch(context.TODO(), event.Name, types.StrategicMergePatchType, data, metav1.PatchOptions{})
104+
return e.Interface.Events(event.Namespace).Patch(ctx, event.Name, types.StrategicMergePatchType, data, metav1.PatchOptions{})
105105
}
106106

107107
// NewBroadcaster Creates a new event broadcaster.
@@ -237,13 +237,13 @@ func recordEvent(ctx context.Context, sink EventSink, event *eventsv1.Event) (*e
237237
klog.FromContext(ctx).Error(patchBytesErr, "Unable to calculate diff, no merge is possible")
238238
return nil, false
239239
}
240-
newEvent, err = sink.Patch(event, patch)
240+
newEvent, err = sink.Patch(ctx, event, patch)
241241
}
242242
// Update can fail because the event may have been removed and it no longer exists.
243243
if !isEventSeries || (isEventSeries && util.IsKeyNotFoundError(err)) {
244244
// Making sure that ResourceVersion is empty on creation
245245
event.ResourceVersion = ""
246-
newEvent, err = sink.Create(event)
246+
newEvent, err = sink.Create(ctx, event)
247247
}
248248
if err == nil {
249249
return newEvent, false

staging/src/k8s.io/client-go/tools/events/eventseries_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,23 @@ type testEventSeriesSink struct {
4444
}
4545

4646
// Create records the event for testing.
47-
func (t *testEventSeriesSink) Create(e *eventsv1.Event) (*eventsv1.Event, error) {
47+
func (t *testEventSeriesSink) Create(ctx context.Context, e *eventsv1.Event) (*eventsv1.Event, error) {
4848
if t.OnCreate != nil {
4949
return t.OnCreate(e)
5050
}
5151
return e, nil
5252
}
5353

5454
// Update records the event for testing.
55-
func (t *testEventSeriesSink) Update(e *eventsv1.Event) (*eventsv1.Event, error) {
55+
func (t *testEventSeriesSink) Update(ctx context.Context, e *eventsv1.Event) (*eventsv1.Event, error) {
5656
if t.OnUpdate != nil {
5757
return t.OnUpdate(e)
5858
}
5959
return e, nil
6060
}
6161

6262
// Patch records the event for testing.
63-
func (t *testEventSeriesSink) Patch(e *eventsv1.Event, p []byte) (*eventsv1.Event, error) {
63+
func (t *testEventSeriesSink) Patch(ctx context.Context, e *eventsv1.Event, p []byte) (*eventsv1.Event, error) {
6464
if t.OnPatch != nil {
6565
return t.OnPatch(e, p)
6666
}

staging/src/k8s.io/client-go/tools/events/interfaces.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ type EventBroadcaster interface {
6767
// It is assumed that EventSink will return the same sorts of errors as
6868
// client-go's REST client.
6969
type EventSink interface {
70-
Create(event *eventsv1.Event) (*eventsv1.Event, error)
71-
Update(event *eventsv1.Event) (*eventsv1.Event, error)
72-
Patch(oldEvent *eventsv1.Event, data []byte) (*eventsv1.Event, error)
70+
Create(ctx context.Context, event *eventsv1.Event) (*eventsv1.Event, error)
71+
Update(ctx context.Context, event *eventsv1.Event) (*eventsv1.Event, error)
72+
Patch(ctx context.Context, oldEvent *eventsv1.Event, data []byte) (*eventsv1.Event, error)
7373
}
7474

7575
// EventBroadcasterAdapter is a auxiliary interface to simplify migration to

0 commit comments

Comments
 (0)