From 640f7e27a4a4b0be350cbcedb226579b600a63d4 Mon Sep 17 00:00:00 2001 From: Sean Eagan Date: Tue, 26 Jan 2021 09:39:31 -0600 Subject: [PATCH] Don't reconcile non-spec changes Previously status updates, and metadata updates (labels, annotations) would trigger unnecessary reconciles. This change makes it so that we only trigger reconciliation on spec changes, which is equivalent to generation changes. Signed-off-by: Sean Eagan Change-Id: I8dd651de38d4c069f559680b65aaae138c97e6c5 --- pkg/controllers/vino_controller.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/controllers/vino_controller.go b/pkg/controllers/vino_controller.go index ee112b3..9287bed 100644 --- a/pkg/controllers/vino_controller.go +++ b/pkg/controllers/vino_controller.go @@ -31,8 +31,10 @@ import ( "k8s.io/apimachinery/pkg/types" kerror "k8s.io/apimachinery/pkg/util/errors" ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/yaml" vinov1 "vino/pkg/api/v1" @@ -433,7 +435,9 @@ func (r *VinoReconciler) daemonSet(ctx context.Context, vino *vinov1.Vino) (*app func (r *VinoReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). - For(&vinov1.Vino{}). + For(&vinov1.Vino{}, builder.WithPredicates( + predicate.GenerationChangedPredicate{}, + )). Complete(r) }