Skip to content

Commit 2479d29

Browse files
Merge pull request #624 from andybavier/concurrency
Enable concurrency in controllers
2 parents 11415e0 + ee0a829 commit 2479d29

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

bootstrap/internal/controllers/rke2config_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"k8s.io/utils/ptr"
3535
ctrl "sigs.k8s.io/controller-runtime"
3636
"sigs.k8s.io/controller-runtime/pkg/client"
37+
"sigs.k8s.io/controller-runtime/pkg/controller"
3738
"sigs.k8s.io/controller-runtime/pkg/handler"
3839
"sigs.k8s.io/controller-runtime/pkg/log"
3940
kubeyaml "sigs.k8s.io/yaml"
@@ -206,13 +207,16 @@ func (r *RKE2ConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request)
206207
}
207208

208209
// SetupWithManager sets up the controller with the Manager.
209-
func (r *RKE2ConfigReconciler) SetupWithManager(mgr ctrl.Manager) error {
210+
func (r *RKE2ConfigReconciler) SetupWithManager(mgr ctrl.Manager, concurrency int) error {
210211
if r.RKE2InitLock == nil {
211212
r.RKE2InitLock = locking.NewControlPlaneInitMutex(mgr.GetClient())
212213
}
213214

214215
builder := ctrl.NewControllerManagedBy(mgr).
215216
For(&bootstrapv1.RKE2Config{}).
217+
WithOptions(controller.Options{
218+
MaxConcurrentReconciles: concurrency,
219+
}).
216220
Watches(
217221
&clusterv1.Machine{},
218222
handler.EnqueueRequestsFromMapFunc(r.MachineToBootstrapMapFunc),

bootstrap/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ func main() {
198198
setupReconcilers(mgr)
199199
setupWebhooks(mgr)
200200

201-
setupLog.Info("Starting manager", "version", version.Get().String())
201+
setupLog.Info("Starting manager", "version", version.Get().String(), "concurrency", concurrencyNumber)
202202

203203
if err := mgr.Start(ctx); err != nil {
204204
setupLog.Error(err, "problem running manager")
@@ -222,7 +222,7 @@ func setupReconcilers(mgr ctrl.Manager) {
222222
if err := (&controllers.RKE2ConfigReconciler{
223223
Client: mgr.GetClient(),
224224
Scheme: mgr.GetScheme(),
225-
}).SetupWithManager(mgr); err != nil {
225+
}).SetupWithManager(mgr, concurrencyNumber); err != nil {
226226
setupLog.Error(err, "unable to create controller", "controller", "Rke2Config")
227227
os.Exit(1)
228228
}

controlplane/internal/controllers/rke2controlplane_controller.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,10 +238,13 @@ func patchRKE2ControlPlane(ctx context.Context, patchHelper *patch.Helper, rcp *
238238
}
239239

240240
// SetupWithManager sets up the controller with the Manager.
241-
func (r *RKE2ControlPlaneReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, clientQPS float32, clientBurst int) error {
241+
func (r *RKE2ControlPlaneReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, clientQPS float32, clientBurst, concurrency int) error {
242242
c, err := ctrl.NewControllerManagedBy(mgr).
243243
For(&controlplanev1.RKE2ControlPlane{}).
244244
Owns(&clusterv1.Machine{}).
245+
WithOptions(controller.Options{
246+
MaxConcurrentReconciles: concurrency,
247+
}).
245248
Build(r)
246249
if err != nil {
247250
return errors.Wrap(err, "failed setting up with a controller manager")

controlplane/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ func main() {
203203
setupWebhooks(mgr)
204204
setupReconcilers(ctx, mgr)
205205

206-
setupLog.Info("Starting manager", "version", version.Get().String())
206+
setupLog.Info("Starting manager", "version", version.Get().String(), "concurrency", concurrencyNumber)
207207

208208
if err := mgr.Start(ctx); err != nil {
209209
setupLog.Error(err, "problem running manager")
@@ -240,7 +240,7 @@ func setupReconcilers(ctx context.Context, mgr ctrl.Manager) {
240240
Scheme: mgr.GetScheme(),
241241
WatchFilterValue: watchFilterValue,
242242
SecretCachingClient: secretCachingClient,
243-
}).SetupWithManager(ctx, mgr, clusterCacheTrackerClientQPS, clusterCacheTrackerClientBurst); err != nil {
243+
}).SetupWithManager(ctx, mgr, clusterCacheTrackerClientQPS, clusterCacheTrackerClientBurst, concurrencyNumber); err != nil {
244244
setupLog.Error(err, "unable to create controller", "controller", "RKE2ControlPlane")
245245
os.Exit(1)
246246
}

0 commit comments

Comments
 (0)