Skip to content

Commit d646443

Browse files
shafeeqesnickytd
authored andcommitted
Drop custom eventhandler for backupbuckets and backupentries (gardener#8351)
1 parent 73140a6 commit d646443

File tree

7 files changed

+6
-265
lines changed

7 files changed

+6
-265
lines changed

pkg/controllerutils/eventhandler.go

Lines changed: 0 additions & 71 deletions
This file was deleted.

pkg/controllerutils/eventhandler_test.go

Lines changed: 0 additions & 120 deletions
This file was deleted.

pkg/controllerutils/miscellaneous.go

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,7 @@ import (
1919
"strings"
2020
"time"
2121

22-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23-
"k8s.io/utils/clock"
24-
25-
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
2622
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
27-
v1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
2823
"github.com/gardener/gardener/pkg/utils"
2924
)
3025

@@ -91,44 +86,6 @@ func setTaskAnnotations(annotations map[string]string, tasks []string) {
9186
annotations[v1beta1constants.ShootTasks] = strings.Join(tasks, separator)
9287
}
9388

94-
var (
95-
// RandomDuration is a function for returning a random duration.
96-
RandomDuration = utils.RandomDuration
97-
)
98-
99-
// ReconcileOncePer24hDuration returns the duration until the next reconciliation should happen while respecting that
100-
// only one reconciliation should happen per 24h. If the deletion timestamp is set or the generation has changed or the
101-
// last operation does not indicate success or indicates that the last reconciliation happened more than 24h ago then 0
102-
// will be returned.
103-
func ReconcileOncePer24hDuration(clock clock.Clock, objectMeta metav1.ObjectMeta, observedGeneration int64, lastOperation *gardencorev1beta1.LastOperation) time.Duration {
104-
if objectMeta.DeletionTimestamp != nil {
105-
return 0
106-
}
107-
108-
if objectMeta.Generation != observedGeneration {
109-
return 0
110-
}
111-
112-
if v1beta1helper.HasOperationAnnotation(objectMeta.Annotations) {
113-
return 0
114-
}
115-
116-
if lastOperation == nil ||
117-
lastOperation.State != gardencorev1beta1.LastOperationStateSucceeded ||
118-
(lastOperation.Type != gardencorev1beta1.LastOperationTypeCreate && lastOperation.Type != gardencorev1beta1.LastOperationTypeReconcile) {
119-
return 0
120-
}
121-
122-
// If last reconciliation happened more than 24h ago then we want to reconcile immediately, so let's only compute
123-
// a delay if the last reconciliation was within the last 24h.
124-
if lastReconciliation := lastOperation.LastUpdateTime.Time; clock.Now().UTC().Before(lastReconciliation.UTC().Add(24 * time.Hour)) {
125-
durationUntilLastReconciliationWas24hAgo := lastReconciliation.UTC().Add(24 * time.Hour).Sub(clock.Now().UTC())
126-
return RandomDuration(durationUntilLastReconciliationWas24hAgo)
127-
}
128-
129-
return 0
130-
}
131-
13289
// GetMainReconciliationContext returns a context with timeout for the controller's main client. The resulting context has a timeout equal to the timeout passed in the argument but
13390
// not more than DefaultReconciliationTimeout.
13491
func GetMainReconciliationContext(ctx context.Context, timeout time.Duration) (context.Context, context.CancelFunc) {

pkg/controllerutils/miscellaneous_test.go

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,10 @@ package controllerutils_test
1616

1717
import (
1818
"strings"
19-
"time"
2019

2120
. "github.com/onsi/ginkgo/v2"
2221
. "github.com/onsi/gomega"
23-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24-
testclock "k8s.io/utils/clock/testing"
2522

26-
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
2723
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
2824
. "github.com/gardener/gardener/pkg/controllerutils"
2925
)
@@ -114,26 +110,4 @@ var _ = Describe("controller", func() {
114110
Entry("task in list", map[string]string{v1beta1constants.ShootTasks: "some-task" + "," + v1beta1constants.ShootTaskDeployInfrastructure}, "some-task", true),
115111
)
116112
})
117-
118-
var deletionTimestamp = metav1.Now()
119-
DescribeTable("#ReconcileOncePer24hDuration",
120-
func(objectMeta metav1.ObjectMeta, observedGeneration int64, lastOperation *gardencorev1beta1.LastOperation, expectedDuration time.Duration) {
121-
fakeClock := testclock.NewFakeClock(time.Date(1, 1, 2, 1, 0, 0, 0, time.UTC))
122-
123-
oldRandomDuration := RandomDuration
124-
defer func() { RandomDuration = oldRandomDuration }()
125-
RandomDuration = func(time.Duration) time.Duration { return time.Minute }
126-
127-
Expect(ReconcileOncePer24hDuration(fakeClock, objectMeta, observedGeneration, lastOperation)).To(Equal(expectedDuration))
128-
},
129-
130-
Entry("deletion timestamp set", metav1.ObjectMeta{DeletionTimestamp: &deletionTimestamp}, int64(0), nil, time.Duration(0)),
131-
Entry("generation not equal observed generation", metav1.ObjectMeta{Generation: int64(1)}, int64(0), nil, time.Duration(0)),
132-
Entry("operation annotation is set", metav1.ObjectMeta{Annotations: map[string]string{v1beta1constants.GardenerOperation: v1beta1constants.GardenerOperationReconcile}}, int64(0), nil, time.Duration(0)),
133-
Entry("last operation is nil", metav1.ObjectMeta{}, int64(0), nil, time.Duration(0)),
134-
Entry("last operation state is succeeded", metav1.ObjectMeta{}, int64(0), &gardencorev1beta1.LastOperation{State: gardencorev1beta1.LastOperationStateSucceeded}, time.Duration(0)),
135-
Entry("last operation type is not create or reconcile", metav1.ObjectMeta{}, int64(0), &gardencorev1beta1.LastOperation{State: gardencorev1beta1.LastOperationStateSucceeded, Type: gardencorev1beta1.LastOperationTypeRestore}, time.Duration(0)),
136-
Entry("last reconciliation was more than 24h ago", metav1.ObjectMeta{}, int64(0), &gardencorev1beta1.LastOperation{State: gardencorev1beta1.LastOperationStateSucceeded, Type: gardencorev1beta1.LastOperationTypeReconcile, LastUpdateTime: metav1.Time{Time: time.Date(1, 1, 1, 0, 30, 0, 0, time.UTC)}}, time.Duration(0)),
137-
Entry("last reconciliation was not more than 24h ago", metav1.ObjectMeta{}, int64(0), &gardencorev1beta1.LastOperation{State: gardencorev1beta1.LastOperationStateSucceeded, Type: gardencorev1beta1.LastOperationTypeReconcile, LastUpdateTime: metav1.Time{Time: time.Date(1, 1, 1, 1, 30, 0, 0, time.UTC)}}, time.Minute),
138-
)
139113
})

pkg/gardenlet/controller/backupbucket/add.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"sigs.k8s.io/controller-runtime/pkg/client"
2626
"sigs.k8s.io/controller-runtime/pkg/cluster"
2727
"sigs.k8s.io/controller-runtime/pkg/controller"
28+
"sigs.k8s.io/controller-runtime/pkg/handler"
2829
"sigs.k8s.io/controller-runtime/pkg/manager"
2930
"sigs.k8s.io/controller-runtime/pkg/predicate"
3031
"sigs.k8s.io/controller-runtime/pkg/reconcile"
@@ -33,7 +34,6 @@ import (
3334
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
3435
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
3536
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
36-
"github.com/gardener/gardener/pkg/controllerutils"
3737
"github.com/gardener/gardener/pkg/controllerutils/mapper"
3838
predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
3939
)
@@ -68,7 +68,7 @@ func (r *Reconciler) AddToManager(ctx context.Context, mgr manager.Manager, gard
6868
}).
6969
Watches(
7070
source.NewKindWithCache(&gardencorev1beta1.BackupBucket{}, gardenCluster.GetCache()),
71-
controllerutils.EnqueueCreateEventsOncePer24hDuration(r.Clock),
71+
&handler.EnqueueRequestForObject{},
7272
builder.WithPredicates(
7373
&predicate.GenerationChangedPredicate{},
7474
r.SeedNamePredicate(),

pkg/gardenlet/controller/backupentry/add.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"sigs.k8s.io/controller-runtime/pkg/client"
2626
"sigs.k8s.io/controller-runtime/pkg/cluster"
2727
"sigs.k8s.io/controller-runtime/pkg/controller"
28+
"sigs.k8s.io/controller-runtime/pkg/handler"
2829
"sigs.k8s.io/controller-runtime/pkg/manager"
2930
"sigs.k8s.io/controller-runtime/pkg/predicate"
3031
"sigs.k8s.io/controller-runtime/pkg/reconcile"
@@ -34,7 +35,6 @@ import (
3435
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
3536
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
3637
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
37-
"github.com/gardener/gardener/pkg/controllerutils"
3838
"github.com/gardener/gardener/pkg/controllerutils/mapper"
3939
predicateutils "github.com/gardener/gardener/pkg/controllerutils/predicate"
4040
"github.com/gardener/gardener/pkg/extensions"
@@ -72,7 +72,7 @@ func (r *Reconciler) AddToManager(ctx context.Context, mgr manager.Manager, gard
7272
}).
7373
Watches(
7474
source.NewKindWithCache(&gardencorev1beta1.BackupEntry{}, gardenCluster.GetCache()),
75-
controllerutils.EnqueueCreateEventsOncePer24hDuration(r.Clock),
75+
&handler.EnqueueRequestForObject{},
7676
builder.WithPredicates(
7777
&predicate.GenerationChangedPredicate{},
7878
predicateutils.SeedNamePredicate(r.SeedName, gardenerutils.GetBackupEntrySeedNames),

pkg/gardenlet/controller/shoot/state/reconciler.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
3131
"github.com/gardener/gardener/pkg/controllerutils"
3232
"github.com/gardener/gardener/pkg/gardenlet/apis/config"
33+
"github.com/gardener/gardener/pkg/utils"
3334
"github.com/gardener/gardener/pkg/utils/gardener/shootstate"
3435
)
3536

@@ -115,7 +116,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
115116
func (r *Reconciler) requeueAfter(lastBackup time.Time) (time.Duration, time.Time) {
116117
var (
117118
nextRegularBackup = lastBackup.Add(r.Config.SyncPeriod.Duration)
118-
randomDuration = controllerutils.RandomDuration(JitterDuration)
119+
randomDuration = utils.RandomDuration(JitterDuration)
119120

120121
nextBackup = nextRegularBackup.Add(-JitterDuration / 2).Add(randomDuration)
121122
durationUntilNextBackup = nextBackup.UTC().Sub(r.Clock.Now().UTC())

0 commit comments

Comments
 (0)