func()

in controllers/gerritgroup/controller.go [83:116]


func (r *Reconcile) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
	log := r.log.WithValues("Request.Namespace", request.Namespace, "Request.Name", request.Name)
	log.Info("Reconciling GerritGroup")

	var instance gerritApi.GerritGroup
	if err := r.client.Get(ctx, request.NamespacedName, &instance); err != nil {
		if k8sErrors.IsNotFound(err) {
			// Request object not found, could have been deleted after reconcile request.
			// Owned objects are automatically garbage collected. For additional cleanup logic use finalizers.
			// Return and don't requeue
			log.Info("instance not found")
			return reconcile.Result{}, nil
		}

		return reconcile.Result{}, errors.Wrap(err, "unable to get gerrit group")
	}

	defer func() {
		if err := r.client.Status().Update(context.Background(), &instance); err != nil {
			log.Error(err, "unable to update instance status")
		}
	}()

	if err := r.tryToReconcile(ctx, &instance); err != nil {
		log.Error(err, "unable to reconcile gerrit group")
		instance.Status.Value = err.Error()

		return reconcile.Result{RequeueAfter: requeueTime}, nil
	}

	instance.Status.Value = helper.StatusOK

	return reconcile.Result{}, nil
}