mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-14 10:53:34 +00:00
rebase: bump sigs.k8s.io/controller-runtime
Bumps the k8s-dependencies group with 1 update: [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime). Updates `sigs.k8s.io/controller-runtime` from 0.20.3 to 0.20.4 - [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases) - [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.20.3...v0.20.4) --- updated-dependencies: - dependency-name: sigs.k8s.io/controller-runtime dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
committed by
mergify[bot]
parent
c1564a135f
commit
9002d95e53
45
vendor/sigs.k8s.io/controller-runtime/pkg/handler/enqueue_mapped.go
generated
vendored
45
vendor/sigs.k8s.io/controller-runtime/pkg/handler/enqueue_mapped.go
generated
vendored
@ -21,6 +21,7 @@ import (
|
||||
|
||||
"k8s.io/client-go/util/workqueue"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
"sigs.k8s.io/controller-runtime/pkg/controller/priorityqueue"
|
||||
"sigs.k8s.io/controller-runtime/pkg/event"
|
||||
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
||||
)
|
||||
@ -63,7 +64,8 @@ func EnqueueRequestsFromMapFunc(fn MapFunc) EventHandler {
|
||||
// TypedEnqueueRequestsFromMapFunc is experimental and subject to future change.
|
||||
func TypedEnqueueRequestsFromMapFunc[object any, request comparable](fn TypedMapFunc[object, request]) TypedEventHandler[object, request] {
|
||||
return &enqueueRequestsFromMapFunc[object, request]{
|
||||
toRequests: fn,
|
||||
toRequests: fn,
|
||||
objectImplementsClientObject: implementsClientObject[object](),
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,7 +73,8 @@ var _ EventHandler = &enqueueRequestsFromMapFunc[client.Object, reconcile.Reques
|
||||
|
||||
type enqueueRequestsFromMapFunc[object any, request comparable] struct {
|
||||
// Mapper transforms the argument into a slice of keys to be reconciled
|
||||
toRequests TypedMapFunc[object, request]
|
||||
toRequests TypedMapFunc[object, request]
|
||||
objectImplementsClientObject bool
|
||||
}
|
||||
|
||||
// Create implements EventHandler.
|
||||
@ -81,7 +84,15 @@ func (e *enqueueRequestsFromMapFunc[object, request]) Create(
|
||||
q workqueue.TypedRateLimitingInterface[request],
|
||||
) {
|
||||
reqs := map[request]empty{}
|
||||
e.mapAndEnqueue(ctx, q, evt.Object, reqs)
|
||||
|
||||
var lowPriority bool
|
||||
if e.objectImplementsClientObject && isPriorityQueue(q) && !isNil(evt.Object) {
|
||||
clientObjectEvent := event.CreateEvent{Object: any(evt.Object).(client.Object)}
|
||||
if isObjectUnchanged(clientObjectEvent) {
|
||||
lowPriority = true
|
||||
}
|
||||
}
|
||||
e.mapAndEnqueue(ctx, q, evt.Object, reqs, lowPriority)
|
||||
}
|
||||
|
||||
// Update implements EventHandler.
|
||||
@ -90,9 +101,13 @@ func (e *enqueueRequestsFromMapFunc[object, request]) Update(
|
||||
evt event.TypedUpdateEvent[object],
|
||||
q workqueue.TypedRateLimitingInterface[request],
|
||||
) {
|
||||
var lowPriority bool
|
||||
if e.objectImplementsClientObject && isPriorityQueue(q) && !isNil(evt.ObjectOld) && !isNil(evt.ObjectNew) {
|
||||
lowPriority = any(evt.ObjectOld).(client.Object).GetResourceVersion() == any(evt.ObjectNew).(client.Object).GetResourceVersion()
|
||||
}
|
||||
reqs := map[request]empty{}
|
||||
e.mapAndEnqueue(ctx, q, evt.ObjectOld, reqs)
|
||||
e.mapAndEnqueue(ctx, q, evt.ObjectNew, reqs)
|
||||
e.mapAndEnqueue(ctx, q, evt.ObjectOld, reqs, lowPriority)
|
||||
e.mapAndEnqueue(ctx, q, evt.ObjectNew, reqs, lowPriority)
|
||||
}
|
||||
|
||||
// Delete implements EventHandler.
|
||||
@ -102,7 +117,7 @@ func (e *enqueueRequestsFromMapFunc[object, request]) Delete(
|
||||
q workqueue.TypedRateLimitingInterface[request],
|
||||
) {
|
||||
reqs := map[request]empty{}
|
||||
e.mapAndEnqueue(ctx, q, evt.Object, reqs)
|
||||
e.mapAndEnqueue(ctx, q, evt.Object, reqs, false)
|
||||
}
|
||||
|
||||
// Generic implements EventHandler.
|
||||
@ -112,14 +127,26 @@ func (e *enqueueRequestsFromMapFunc[object, request]) Generic(
|
||||
q workqueue.TypedRateLimitingInterface[request],
|
||||
) {
|
||||
reqs := map[request]empty{}
|
||||
e.mapAndEnqueue(ctx, q, evt.Object, reqs)
|
||||
e.mapAndEnqueue(ctx, q, evt.Object, reqs, false)
|
||||
}
|
||||
|
||||
func (e *enqueueRequestsFromMapFunc[object, request]) mapAndEnqueue(ctx context.Context, q workqueue.TypedRateLimitingInterface[request], o object, reqs map[request]empty) {
|
||||
func (e *enqueueRequestsFromMapFunc[object, request]) mapAndEnqueue(
|
||||
ctx context.Context,
|
||||
q workqueue.TypedRateLimitingInterface[request],
|
||||
o object,
|
||||
reqs map[request]empty,
|
||||
lowPriority bool,
|
||||
) {
|
||||
for _, req := range e.toRequests(ctx, o) {
|
||||
_, ok := reqs[req]
|
||||
if !ok {
|
||||
q.Add(req)
|
||||
if lowPriority {
|
||||
q.(priorityqueue.PriorityQueue[request]).AddWithOpts(priorityqueue.AddOpts{
|
||||
Priority: LowPriority,
|
||||
}, req)
|
||||
} else {
|
||||
q.Add(req)
|
||||
}
|
||||
reqs[req] = empty{}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user