func()

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
}