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
The following commit(s) were added to refs/heads/master by this push: new 3e2ee12 refactor(trait): replace resources and execute post action as part of trait management 3e2ee12 is described below commit 3e2ee125ca181fe0d574532b425c2a1587217da3 Author: lburgazzoli <lburgazz...@gmail.com> AuthorDate: Fri Jun 28 17:35:12 2019 +0200 refactor(trait): replace resources and execute post action as part of trait management --- pkg/controller/integration/deploy.go | 15 +-------------- pkg/controller/integration/initialize.go | 10 +--------- pkg/trait/trait.go | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/pkg/controller/integration/deploy.go b/pkg/controller/integration/deploy.go index 1d89ef2..cefdc76 100644 --- a/pkg/controller/integration/deploy.go +++ b/pkg/controller/integration/deploy.go @@ -53,23 +53,10 @@ func (action *deployAction) Handle(ctx context.Context, integration *v1alpha1.In return errors.Wrapf(err, "unable to find integration kit %s, %s", integration.Status.Kit, err) } - env, err := trait.Apply(ctx, action.client, integration, kit) - if err != nil { + if _, err := trait.Apply(ctx, action.client, integration, kit); err != nil { return err } - err = kubernetes.ReplaceResources(ctx, action.client, env.Resources.Items()) - if err != nil { - return err - } - - for _, postAction := range env.PostActions { - err := postAction(env) - if err != nil { - action.L.Errorf(err, "error executing deployment post action") - } - } - target := integration.DeepCopy() target.Status.Phase = v1alpha1.IntegrationPhaseRunning diff --git a/pkg/controller/integration/initialize.go b/pkg/controller/integration/initialize.go index b8cbac7..b84aa0f 100644 --- a/pkg/controller/integration/initialize.go +++ b/pkg/controller/integration/initialize.go @@ -20,8 +20,6 @@ package integration import ( "context" - "github.com/apache/camel-k/pkg/util/kubernetes" - "github.com/apache/camel-k/pkg/apis/camel/v1alpha1" "github.com/apache/camel-k/pkg/platform" "github.com/apache/camel-k/pkg/trait" @@ -93,13 +91,7 @@ func (action *initializeAction) Handle(ctx context.Context, integration *v1alpha target := integration.DeepCopy() // execute custom initialization - env, err := trait.Apply(ctx, action.client, target, nil) - if err != nil { - return err - } - - err = kubernetes.ReplaceResources(ctx, action.client, env.Resources.Items()) - if err != nil { + if _, err := trait.Apply(ctx, action.client, target, nil); err != nil { return err } diff --git a/pkg/trait/trait.go b/pkg/trait/trait.go index 2f30c8c..8e50c2c 100644 --- a/pkg/trait/trait.go +++ b/pkg/trait/trait.go @@ -44,7 +44,22 @@ func Apply(ctx context.Context, c client.Client, integration *v1alpha1.Integrati // invoke the trait framework to determine the needed resources if err := catalog.apply(environment); err != nil { - return nil, errors.Wrap(err, "error during trait customization before deployment") + return nil, errors.Wrap(err, "error during trait customization") + } + + // replace resources created by the trait + if environment.Resources != nil { + if err := kubernetes.ReplaceResources(ctx, c, environment.Resources.Items()); err != nil { + return nil, errors.Wrap(err, "error during replace resource") + } + } + + // execute post actions registered by traits + for _, postAction := range environment.PostActions { + err := postAction(environment) + if err != nil { + return nil, errors.Wrap(err, "error executing post actions") + } } return environment, nil