This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 6d20fb0b31f7f4024d4acbb9665251a1c8dd99ac Author: Antonin Stefanutti <[email protected]> AuthorDate: Thu Aug 26 16:29:18 2021 +0200 chore(native): Pass current kit to evaluate traits for running Integrations --- pkg/controller/integration/monitor.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pkg/controller/integration/monitor.go b/pkg/controller/integration/monitor.go index 515d2d4..858b22b 100644 --- a/pkg/controller/integration/monitor.go +++ b/pkg/controller/integration/monitor.go @@ -20,6 +20,8 @@ package integration import ( "context" + "github.com/pkg/errors" + appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" @@ -63,8 +65,13 @@ func (action *monitorAction) Handle(ctx context.Context, integration *v1.Integra return integration, nil } + kit, err := kubernetes.GetIntegrationKit(ctx, action.client, integration.Status.IntegrationKit.Name, integration.Status.IntegrationKit.Namespace) + if err != nil { + return nil, errors.Wrapf(err, "unable to find integration kit %s/%s, %s", integration.Status.IntegrationKit.Namespace, integration.Status.IntegrationKit.Name, err) + } + // Run traits that are enabled for the running phase - _, err = trait.Apply(ctx, action.client, integration, nil) + _, err = trait.Apply(ctx, action.client, integration, kit) if err != nil { return nil, err } @@ -99,9 +106,8 @@ func (action *monitorAction) Handle(ctx context.Context, integration *v1.Integra previous := integration.Status.GetCondition(v1.IntegrationConditionReady) kubernetes.MirrorReadyCondition(ctx, action.client, integration) - if next := integration.Status.GetCondition(v1.IntegrationConditionReady); - (previous == nil || previous.FirstTruthyTime == nil || previous.FirstTruthyTime.IsZero()) && - next != nil && next.Status == corev1.ConditionTrue && !(next.FirstTruthyTime == nil || next.FirstTruthyTime.IsZero()) { + if next := integration.Status.GetCondition(v1.IntegrationConditionReady); (previous == nil || previous.FirstTruthyTime == nil || previous.FirstTruthyTime.IsZero()) && + next != nil && next.Status == corev1.ConditionTrue && !(next.FirstTruthyTime == nil || next.FirstTruthyTime.IsZero()) { // Observe the time to first readiness metric duration := next.FirstTruthyTime.Time.Sub(integration.Status.InitializationTimestamp.Time) action.L.Infof("First readiness after %s", duration) @@ -131,9 +137,9 @@ func (action *monitorAction) Handle(ctx context.Context, integration *v1.Integra } if deployUnavailable && progressingFailing { notAvailableCondition := v1.IntegrationCondition{ - Type: v1.IntegrationConditionReady, - Status: corev1.ConditionFalse, - Reason: v1.IntegrationConditionErrorReason, + Type: v1.IntegrationConditionReady, + Status: corev1.ConditionFalse, + Reason: v1.IntegrationConditionErrorReason, Message: "The corresponding pod(s) may be in error state, look at the pod status or log for errors", } integration.Status.SetConditions(notAvailableCondition)
