func()

in controllers/merge_request/controller.go [196:227]


func (r *Reconcile) tryReconcile(ctx context.Context, instance *gerritApi.GerritMergeRequest) (bool, error) {
	requeue := false

	if instance.Status.ChangeID == "" {
		if instance.Spec.SourceBranch == "" && instance.Spec.ChangesConfigMap == "" {
			return false, errors.New("sourceBranch or changesConfigMap must be specified")
		}

		status, err := r.createChange(ctx, instance)
		if err != nil {
			return false, errors.Wrap(err, "unable to create change")
		}

		instance.Status = *status
		requeue = true
	} else {
		status, err := r.getChangeStatus(ctx, instance)
		if err != nil {
			return false, errors.Wrap(err, "unable to get change status")
		}

		instance.Status.Value = status
		requeue = status == StatusNew
	}

	if err := helper.TryToDelete(ctx, r.k8sClient, instance, finalizerName,
		r.makeDeletionFunc(ctx, instance)); err != nil {
		return false, errors.Wrap(err, "unable to delete resource")
	}

	return requeue, nil
}