in controllers/seataserver_controller.go [157:194]
func (r *SeataServerReconciler) reconcileStatefulSet(ctx context.Context, s *seatav1alpha1.SeataServer) (err error) {
sts := seata.MakeStatefulSet(s)
if err := controllerutil.SetControllerReference(s, sts, r.Scheme); err != nil {
return err
}
foundSts := &appsv1.StatefulSet{}
err = r.Client.Get(ctx, types.NamespacedName{
Name: sts.Name,
Namespace: sts.Namespace,
}, foundSts)
if err != nil && errors.IsNotFound(err) {
r.Log.Info(fmt.Sprintf("Creating a new SeataServer StatefulSet {%s:%s}",
sts.Namespace, sts.Name))
err = r.Client.Create(ctx, sts)
if err != nil {
r.recordError(ctx, types.NamespacedName{Name: s.Name, Namespace: s.Namespace},
seatav1alpha1.ErrorTypeK8s_StatefulSet, fmt.Sprintf("Failed to create SeataServer StatefulSet {%s:%s}",
sts.Namespace, sts.Name), err)
return err
}
return nil
} else if err != nil {
r.recordError(ctx, types.NamespacedName{Name: s.Name, Namespace: s.Namespace},
seatav1alpha1.ErrorTypeK8s_StatefulSet, fmt.Sprintf("Failed to get SeataServer StatefulSet {%s:%s}",
sts.Namespace, sts.Name), err)
return err
} else {
err = r.updateStatefulSet(ctx, s, foundSts, sts)
if err != nil {
r.recordError(ctx, types.NamespacedName{Name: s.Name, Namespace: s.Namespace},
seatav1alpha1.ErrorTypeK8s_StatefulSet, fmt.Sprintf("Failed to update SeataServer StatefulSet {%s:%s}",
foundSts.Namespace, foundSts.Name), err)
return err
}
}
return nil
}