mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
client-go events: also support context for NewEventBroadcasterAdapter
27a68aee3a
introduced context support. In order to use that
also with NewEventBroadcasterAdapter, a variant of the call is needed to allow
the caller to specify the context.
The `logcheck:context` comment ensures that code which is meant to be
contextual uses the new call.
This commit is contained in:
parent
46f4248d56
commit
f8e25eff92
@ -283,7 +283,7 @@ func (o *Options) Config(ctx context.Context) (*schedulerappconfig.Config, error
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
c.EventBroadcaster = events.NewEventBroadcasterAdapter(eventClient)
|
c.EventBroadcaster = events.NewEventBroadcasterAdapterWithContext(ctx, eventClient)
|
||||||
|
|
||||||
// Set up leader election if enabled.
|
// Set up leader election if enabled.
|
||||||
var leaderElectionConfig *leaderelection.LeaderElectionConfig
|
var leaderElectionConfig *leaderelection.LeaderElectionConfig
|
||||||
|
@ -404,7 +404,15 @@ type eventBroadcasterAdapterImpl struct {
|
|||||||
|
|
||||||
// NewEventBroadcasterAdapter creates a wrapper around new and legacy broadcasters to simplify
|
// NewEventBroadcasterAdapter creates a wrapper around new and legacy broadcasters to simplify
|
||||||
// migration of individual components to the new Event API.
|
// migration of individual components to the new Event API.
|
||||||
|
//
|
||||||
|
//logcheck:context // NewEventBroadcasterAdapterWithContext should be used instead because record.NewBroadcaster is called and works better when a context is supplied (contextual logging, cancellation).
|
||||||
func NewEventBroadcasterAdapter(client clientset.Interface) EventBroadcasterAdapter {
|
func NewEventBroadcasterAdapter(client clientset.Interface) EventBroadcasterAdapter {
|
||||||
|
return NewEventBroadcasterAdapterWithContext(context.Background(), client)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewEventBroadcasterAdapterWithContext creates a wrapper around new and legacy broadcasters to simplify
|
||||||
|
// migration of individual components to the new Event API.
|
||||||
|
func NewEventBroadcasterAdapterWithContext(ctx context.Context, client clientset.Interface) EventBroadcasterAdapter {
|
||||||
eventClient := &eventBroadcasterAdapterImpl{}
|
eventClient := &eventBroadcasterAdapterImpl{}
|
||||||
if _, err := client.Discovery().ServerResourcesForGroupVersion(eventsv1.SchemeGroupVersion.String()); err == nil {
|
if _, err := client.Discovery().ServerResourcesForGroupVersion(eventsv1.SchemeGroupVersion.String()); err == nil {
|
||||||
eventClient.eventsv1Client = client.EventsV1()
|
eventClient.eventsv1Client = client.EventsV1()
|
||||||
@ -414,7 +422,7 @@ func NewEventBroadcasterAdapter(client clientset.Interface) EventBroadcasterAdap
|
|||||||
// we create it unconditionally because its overhead is minor and will simplify using usage
|
// we create it unconditionally because its overhead is minor and will simplify using usage
|
||||||
// patterns of this library in all components.
|
// patterns of this library in all components.
|
||||||
eventClient.coreClient = client.CoreV1()
|
eventClient.coreClient = client.CoreV1()
|
||||||
eventClient.coreBroadcaster = record.NewBroadcaster()
|
eventClient.coreBroadcaster = record.NewBroadcaster(record.WithContext(ctx))
|
||||||
return eventClient
|
return eventClient
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user