func()

in kubernetes/controllers/service.go [42:64]


func (r *ElasticJobReconciler) DeleteService(job interface{}, name string, namespace string) error {
	elasticJob, ok := job.(*v1alpha1.ElasticJob)
	if !ok {
		return fmt.Errorf("%+v is not a type of ElasticJob", elasticJob)
	}

	log := logger.LoggerForJob(elasticJob)
	service := &corev1.Service{ObjectMeta: metav1.ObjectMeta{Namespace: namespace, Name: name}}
	log.Infof("Deleting service %s/%s, Job name %s", service.Namespace, service.Name, elasticJob.GetName())

	if err := r.Delete(context.Background(), service); err != nil {
		if commonutil.IsSucceeded(elasticJob.Status.JobStatus) {
			//r.recorder.Eventf(elasticJob, corev1.EventTypeNormal, job_controller.SuccessfulDeleteServiceReason, "Deleted service: %v", name)
			return nil
		}

		r.jobController.Recorder.Eventf(elasticJob, corev1.EventTypeWarning, common.FailedDeleteServiceReason, "Error deleting: %v", err)
		return fmt.Errorf("unable to delete service: %v", err)
	}

	r.jobController.Recorder.Eventf(elasticJob, corev1.EventTypeNormal, common.SuccessfulDeleteServiceReason, "Deleted service: %v", name)
	return nil
}