From bbbe4f9b68d37cbb7bb537599b77e10291f2af4b Mon Sep 17 00:00:00 2001 From: okozachenko Date: Tue, 14 Apr 2020 12:33:57 -0700 Subject: [PATCH] make ReconcileService Change-Id: I76d3065d14bee56e1dce4830ff40f315c648ce4d --- controllers/mcrouter_controller.go | 40 ++++++++++++++++++------------ controllers/rabbitmq_controller.go | 39 +++++++++++++++++------------ 2 files changed, 47 insertions(+), 32 deletions(-) diff --git a/controllers/mcrouter_controller.go b/controllers/mcrouter_controller.go index fe70d799..7670968b 100755 --- a/controllers/mcrouter_controller.go +++ b/controllers/mcrouter_controller.go @@ -193,24 +193,11 @@ func (r *McrouterReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { log.WithValues("resource", "mcrouter-alertrule").WithValues("op", op).Info("Reconciled") // Service - service := &corev1.Service{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: req.Namespace, - Name: fmt.Sprintf("mcrouter-%s", req.Name), - }, + if res, err := r.ReconcileService(ctx, req, &mcrouter, log, labels); err != nil || res != (ctrl.Result{}) { + return res, err } - op, err = k8sutils.CreateOrUpdate(ctx, r, service, func() error { - return builders.Service(service, &mcrouter, r.Scheme). - Port("mcrouter", 11211). - Selector(labels). - Build() - }) - if err != nil { - return ctrl.Result{}, err - } - log.WithValues("resource", "Service").WithValues("op", op).Info("Reconciled") - return ctrl.Result{}, nil + } // SetupWithManager initializes the controller with primary manager @@ -224,3 +211,24 @@ func (r *McrouterReconciler) SetupWithManager(mgr ctrl.Manager) error { Owns(&monitoringv1.PrometheusRule{}). Complete(r) } + +// ReconcileService reconciles the service +func (r *McrouterReconciler) ReconcileService(ctx context.Context, req ctrl.Request, mcrouter *infrastructurev1alpha1.Mcrouter, log logr.Logger, labels map[string]string) (ctrl.Result, error) { + service := &corev1.Service{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: req.Namespace, + Name: fmt.Sprintf("mcrouter-%s", req.Name), + }, + } + op, err := k8sutils.CreateOrUpdate(ctx, r, service, func() error { + return builders.Service(service, mcrouter, r.Scheme). + Port("mcrouter", 11211). + Selector(labels). + Build() + }) + if err != nil { + return ctrl.Result{}, err + } + log.WithValues("resource", "Service").WithValues("op", op).Info("Reconciled") + return ctrl.Result{}, nil +} diff --git a/controllers/rabbitmq_controller.go b/controllers/rabbitmq_controller.go index c132a2ed..f06dc134 100644 --- a/controllers/rabbitmq_controller.go +++ b/controllers/rabbitmq_controller.go @@ -178,23 +178,9 @@ func (r *RabbitmqReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { log.WithValues("resource", "rabbitmq-alertrule").WithValues("op", op).Info("Reconciled") // Service - service := &corev1.Service{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: req.Namespace, - Name: fmt.Sprintf("rabbitmq-%s", req.Name), - }, + if res, err := r.ReconcileService(ctx, req, &Rabbitmq, log, labels); err != nil || res != (ctrl.Result{}) { + return res, err } - op, err = k8sutils.CreateOrUpdate(ctx, r, service, func() error { - return builders.Service(service, &Rabbitmq, r.Scheme). - Port("rabbitmq", 5672). - Selector(labels). - Build() - }) - if err != nil { - return ctrl.Result{}, err - } - log.WithValues("resource", "Service").WithValues("op", op).Info("Reconciled") - return ctrl.Result{}, nil } @@ -208,3 +194,24 @@ func (r *RabbitmqReconciler) SetupWithManager(mgr ctrl.Manager) error { Owns(&monitoringv1.PrometheusRule{}). Complete(r) } + +// ReconcileService reconciles the service +func (r *RabbitmqReconciler) ReconcileService(ctx context.Context, req ctrl.Request, rabbitmq *infrastructurev1alpha1.Rabbitmq, log logr.Logger, labels map[string]string) (ctrl.Result, error) { + service := &corev1.Service{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: req.Namespace, + Name: fmt.Sprintf("rabbitmq-%s", req.Name), + }, + } + op, err := k8sutils.CreateOrUpdate(ctx, r, service, func() error { + return builders.Service(service, rabbitmq, r.Scheme). + Port("rabbitmq", 5672). + Selector(labels). + Build() + }) + if err != nil { + return ctrl.Result{}, err + } + log.WithValues("resource", "Service").WithValues("op", op).Info("Reconciled") + return ctrl.Result{}, nil +}