in controllers/dsalert_controller.go [169:191]
func (r *DSAlertReconciler) ensureAlertService(ctx context.Context, cluster *dsv1alpha1.DSAlert) error {
// 1. Client service
service := &corev1.Service{}
namespacedName := types.NamespacedName{Namespace: cluster.Namespace, Name: dsv1alpha1.DsAlertServiceValue}
if err := r.Client.Get(ctx, namespacedName, service); err != nil {
// Local cache not found
masterLogger.Info("get service error")
if apierrors.IsNotFound(err) {
service = createAlertService(cluster)
if err := controllerutil.SetControllerReference(cluster, service, r.Scheme); err != nil {
alertLogger.Info("create alert service error")
return err
}
// Remote may already exist, so we will return err, for the next time, this code will not execute
if err := r.Client.Create(ctx, service); err != nil {
alertLogger.Info("create alert service error1")
return err
}
alertLogger.Info("the alert service had been created")
}
}
return nil
}