operator: Fix handling of Request requeues (#7740)

k125
Robert Jacob 3 years ago committed by GitHub
parent 54320e827c
commit 57c5f255fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      operator/controllers/loki/alertingrule_controller.go
  2. 14
      operator/controllers/loki/certrotation_controller.go
  3. 24
      operator/controllers/loki/lokistack_controller.go
  4. 6
      operator/controllers/loki/recordingrule_controller.go
  5. 9
      operator/controllers/loki/rulerconfig_controller.go

@ -2,7 +2,6 @@ package controllers
import (
"context"
"time"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
@ -41,10 +40,7 @@ type AlertingRuleReconciler struct {
func (r *AlertingRuleReconciler) Reconcile(ctx context.Context, _ ctrl.Request) (ctrl.Result, error) {
err := lokistack.AnnotateForDiscoveredRules(ctx, r.Client)
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{}, nil
}

@ -41,9 +41,7 @@ type CertRotationReconciler struct {
func (r *CertRotationReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
managed, err := state.IsManaged(ctx, req, r.Client)
if err != nil {
return ctrl.Result{
Requeue: true,
}, err
return ctrl.Result{}, err
}
if !managed {
r.Log.Info("Skipping reconciliation for unmanaged LokiStack resource", "name", req.String())
@ -53,7 +51,7 @@ func (r *CertRotationReconciler) Reconcile(ctx context.Context, req ctrl.Request
rt, err := certrotation.ParseRotation(r.FeatureGates.BuiltInCertManagement)
if err != nil {
return ctrl.Result{Requeue: false}, err
return ctrl.Result{}, err
}
checkExpiryAfter := expiryRetryAfter(rt.TargetCertRefresh)
@ -66,9 +64,7 @@ func (r *CertRotationReconciler) Reconcile(ctx context.Context, req ctrl.Request
case errors.As(err, &expired):
r.Log.Info("Certificate expired", "msg", expired.Error())
case err != nil:
return ctrl.Result{
Requeue: true,
}, err
return ctrl.Result{}, err
default:
r.Log.Info("Skipping cert rotation, all LokiStack certificates still valid", "name", req.String())
return ctrl.Result{
@ -80,9 +76,7 @@ func (r *CertRotationReconciler) Reconcile(ctx context.Context, req ctrl.Request
err = lokistack.AnnotateForRequiredCertRotation(ctx, r.Client, req.Name, req.Namespace)
if err != nil {
r.Log.Error(err, "failed to annotate required cert rotation", "name", req.String())
return ctrl.Result{
Requeue: true,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{

@ -3,7 +3,6 @@ package controllers
import (
"context"
"errors"
"time"
"github.com/go-logr/logr"
"github.com/google/go-cmp/cmp"
@ -112,10 +111,7 @@ type LokiStackReconciler struct {
func (r *LokiStackReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
ok, err := state.IsManaged(ctx, req, r.Client)
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
if !ok {
r.Log.Info("Skipping reconciliation for unmanaged lokistack resource", "name", req.NamespacedName)
@ -137,10 +133,7 @@ func (r *LokiStackReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
err = status.Refresh(ctx, r.Client, req)
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{}, nil
@ -151,23 +144,16 @@ func handleDegradedError(ctx context.Context, c client.Client, req ctrl.Request,
if errors.As(err, &degraded) {
err = status.SetDegradedCondition(ctx, c, req, degraded.Message, degraded.Reason)
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{
Requeue: degraded.Requeue,
RequeueAfter: time.Second,
Requeue: degraded.Requeue,
}, nil
}
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{}, nil

@ -2,7 +2,6 @@ package controllers
import (
"context"
"time"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
@ -41,10 +40,7 @@ type RecordingRuleReconciler struct {
func (r *RecordingRuleReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
err := lokistack.AnnotateForDiscoveredRules(ctx, r.Client)
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{}, nil
}

@ -2,7 +2,6 @@ package controllers
import (
"context"
"time"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
@ -36,16 +35,14 @@ func (r *RulerConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request)
return ctrl.Result{}, nil
}
return ctrl.Result{Requeue: true, RequeueAfter: time.Second}, err
return ctrl.Result{}, err
}
err := lokistack.AnnotateForRulerConfig(ctx, r.Client, req.Name, req.Namespace)
if err != nil {
return ctrl.Result{
Requeue: true,
RequeueAfter: time.Second,
}, err
return ctrl.Result{}, err
}
return ctrl.Result{}, nil
}

Loading…
Cancel
Save