This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 755d06108cc50154a6c8559e4d37e00f2deec84c Author: Antonin Stefanutti <anto...@stefanutti.fr> AuthorDate: Tue Nov 26 15:53:51 2019 +0100 feat: Use JSON merge patch to update integration status --- pkg/controller/integration/integration_controller.go | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/pkg/controller/integration/integration_controller.go b/pkg/controller/integration/integration_controller.go index 16849e8..730368b 100644 --- a/pkg/controller/integration/integration_controller.go +++ b/pkg/controller/integration/integration_controller.go @@ -255,7 +255,7 @@ func (r *ReconcileIntegration) Reconcile(request reconcile.Request) (reconcile.R target.SetIntegrationPlatform(pl) } - return r.update(ctx, targetLog, target) + return r.update(ctx, &instance, target) } return reconcile.Result{}, err @@ -282,7 +282,7 @@ func (r *ReconcileIntegration) Reconcile(request reconcile.Request) (reconcile.R } if newTarget != nil { - if r, err := r.update(ctx, targetLog, newTarget); err != nil { + if r, err := r.update(ctx, &instance, newTarget); err != nil { return r, err } @@ -304,8 +304,7 @@ func (r *ReconcileIntegration) Reconcile(request reconcile.Request) (reconcile.R return reconcile.Result{}, nil } -// Update -- -func (r *ReconcileIntegration) update(ctx context.Context, log log.Logger, target *v1alpha1.Integration) (reconcile.Result, error) { +func (r *ReconcileIntegration) update(ctx context.Context, base *v1alpha1.Integration, target *v1alpha1.Integration) (reconcile.Result, error) { dgst, err := digest.ComputeForIntegration(target) if err != nil { return reconcile.Result{}, err @@ -313,16 +312,7 @@ func (r *ReconcileIntegration) update(ctx context.Context, log log.Logger, targe target.Status.Digest = dgst - err = r.client.Status().Update(ctx, target) - if err != nil { - if k8serrors.IsConflict(err) { - log.Error(err, "conflict") - - return reconcile.Result{ - Requeue: true, - }, nil - } - } + err = r.client.Status().Patch(ctx, target, k8sclient.MergeFrom(base)) return reconcile.Result{}, err }