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
}