in controllers/seataserver_controller.go [76:112]
func (r *SeataServerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
s := &seatav1alpha1.SeataServer{}
if err := r.Get(ctx, req.NamespacedName, s); err != nil {
if errors.IsNotFound(err) {
r.recordError(ctx, req.NamespacedName, seatav1alpha1.ErrorTypeK8s_SeataServer, fmt.Sprintf("Failed to get resource SeataServer(%v),err %s", req.NamespacedName, err.Error()), err)
return ctrl.Result{}, nil
}
}
changed := s.WithDefaults()
if changed {
r.Log.Info(fmt.Sprintf("Setting default values for SeataServer(%v)", req.NamespacedName))
if err := r.Client.Update(ctx, s); err != nil {
r.recordError(ctx, req.NamespacedName, seatav1alpha1.ErrorTypeK8s_SeataServer, fmt.Sprintf("Failed to update resource SeataServer(%v)", req.NamespacedName), err)
return reconcile.Result{}, err
}
return reconcile.Result{Requeue: true}, nil
}
for _, fun := range []reconcileFun{
r.reconcileHeadlessService,
r.reconcileStatefulSet,
r.reconcileFinalizers,
} {
if err := fun(ctx, s); err != nil {
return reconcile.Result{}, err
}
}
if !s.Status.Synchronized {
r.Log.Info(fmt.Sprintf("SeataServer(%v) has not been synchronized yet, requeue in %d seconds",
req.NamespacedName, RequeueSeconds))
return ctrl.Result{Requeue: true, RequeueAfter: RequeueSeconds * time.Second}, nil
}
return ctrl.Result{}, nil
}