You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/10/04 09:21:48 UTC

[camel-k] 04/04: fix(e2e): adding failure on catalog error

This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 301bacd250d6c098dc4ed502e45f59eda779e4e0
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Wed Oct 4 09:47:35 2023 +0200

    fix(e2e): adding failure on catalog error
---
 pkg/apis/camel/v1/integration_types_support.go | 2 +-
 pkg/controller/integrationkit/initialize.go    | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/pkg/apis/camel/v1/integration_types_support.go b/pkg/apis/camel/v1/integration_types_support.go
index 89b8ce670..23c50f9e9 100644
--- a/pkg/apis/camel/v1/integration_types_support.go
+++ b/pkg/apis/camel/v1/integration_types_support.go
@@ -235,7 +235,7 @@ func (in *Integration) SetIntegrationKit(kit *IntegrationKit) {
 			message = "creating a new integration kit"
 		} else {
 			message = fmt.Sprintf("integration kit %s/%s is in state %q", kit.Namespace, kit.Name, kit.Status.Phase)
-			if kit.Status.Phase == IntegrationKitPhaseError {
+			if kit.Status.Phase == IntegrationKitPhaseError && kit.Status.Failure != nil {
 				// Append specific reason for the failure
 				message = message + ". Failure: " + kit.Status.Failure.Reason
 			}
diff --git a/pkg/controller/integrationkit/initialize.go b/pkg/controller/integrationkit/initialize.go
index ea1e1b8ba..de356e6a9 100644
--- a/pkg/controller/integrationkit/initialize.go
+++ b/pkg/controller/integrationkit/initialize.go
@@ -27,6 +27,7 @@ import (
 	"github.com/apache/camel-k/v2/pkg/util/defaults"
 	"github.com/apache/camel-k/v2/pkg/util/kubernetes"
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 )
 
 // NewInitializeAction creates a new initialization handling action for the kit.
@@ -76,12 +77,18 @@ func (action *initializeAction) Handle(ctx context.Context, kit *v1.IntegrationK
 		}
 
 		if catalog.Status.Phase == v1.CamelCatalogPhaseError {
+			errorReason := fmt.Sprintf("Camel Catalog %s error", catalog.Spec.Runtime.Version)
 			kit.Status.Phase = v1.IntegrationKitPhaseError
 			kit.Status.SetErrorCondition(
 				v1.IntegrationKitConditionCatalogAvailable,
-				fmt.Sprintf("Camel Catalog %s error", catalog.Spec.Runtime.Version),
+				errorReason,
 				fmt.Errorf("%s", catalog.Status.GetCondition(v1.CamelCatalogConditionReady).Reason),
 			)
+			// Adding the failure in order to include this info in the Integration as well
+			kit.Status.Failure = &v1.Failure{
+				Reason: errorReason,
+				Time:   metav1.Now(),
+			}
 			return kit, nil
 		}