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 <[email protected]>
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
                }
 

Reply via email to