You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2022/03/14 13:17:37 UTC

[camel-k] branch main updated: fix: Propagate readiness condition message in KameletBinding if present

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


The following commit(s) were added to refs/heads/main by this push:
     new 923f1ed  fix: Propagate readiness condition message in KameletBinding if present
923f1ed is described below

commit 923f1edbc6296fabe82fc67521c6a0efab67a44e
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Fri Mar 11 12:44:42 2022 +0100

    fix: Propagate readiness condition message in KameletBinding if present
---
 e2e/knative/kamelet_test.go              | 16 ++++++++++------
 pkg/controller/kameletbinding/monitor.go |  6 +++++-
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/e2e/knative/kamelet_test.go b/e2e/knative/kamelet_test.go
index a0d8e33..1c25cfb 100644
--- a/e2e/knative/kamelet_test.go
+++ b/e2e/knative/kamelet_test.go
@@ -69,8 +69,10 @@ func TestKameletChange(t *testing.T) {
 		Eventually(KameletBindingConditionStatus(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse))
 		Eventually(KameletBindingCondition(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(And(
 			WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentProgressingReason)),
-			WithTransform(KameletBindingConditionMessage, Equal(fmt.Sprintf("Integration %q readiness condition is %q", name, corev1.ConditionFalse))),
-		))
+			WithTransform(KameletBindingConditionMessage, Or(
+				Equal("0/1 updated replicas"),
+				Equal("0/1 ready replicas"),
+			))))
 
 		Eventually(IntegrationPodPhase(ns, name), TestTimeoutMedium).Should(Equal(corev1.PodRunning))
 		Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
@@ -79,7 +81,7 @@ func TestKameletChange(t *testing.T) {
 		Eventually(KameletBindingConditionStatus(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
 		Eventually(KameletBindingCondition(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(And(
 			WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
-			WithTransform(KameletBindingConditionMessage, Equal(fmt.Sprintf("Integration %q readiness condition is %q", name, corev1.ConditionTrue))),
+			WithTransform(KameletBindingConditionMessage, Equal(fmt.Sprintf("1/1 ready replicas"))),
 		))
 
 		// Update the KameletBinding
@@ -88,8 +90,10 @@ func TestKameletChange(t *testing.T) {
 		Eventually(KameletBindingConditionStatus(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionFalse))
 		Eventually(KameletBindingCondition(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).Should(And(
 			WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentProgressingReason)),
-			WithTransform(KameletBindingConditionMessage, Equal(fmt.Sprintf("Integration %q readiness condition is %q", name, corev1.ConditionFalse))),
-		))
+			WithTransform(KameletBindingConditionMessage, Or(
+				Equal("0/1 updated replicas"),
+				Equal("0/1 ready replicas"),
+			))))
 
 		Eventually(IntegrationPodPhase(ns, "timer-binding"), TestTimeoutMedium).Should(Equal(corev1.PodRunning))
 		Eventually(IntegrationConditionStatus(ns, "timer-binding", v1.IntegrationConditionReady), TestTimeoutShort).Should(Equal(corev1.ConditionTrue))
@@ -99,7 +103,7 @@ func TestKameletChange(t *testing.T) {
 		Eventually(KameletBindingCondition(ns, name, v1alpha1.KameletBindingConditionReady), TestTimeoutMedium).
 			Should(And(
 				WithTransform(KameletBindingConditionReason, Equal(v1.IntegrationConditionDeploymentReadyReason)),
-				WithTransform(KameletBindingConditionMessage, Equal(fmt.Sprintf("Integration %q readiness condition is %q", name, corev1.ConditionTrue))),
+				WithTransform(KameletBindingConditionMessage, Equal("1/1 ready replicas")),
 			))
 
 		Expect(Kamel("delete", "--all", "-n", ns).Execute()).To(Succeed())
diff --git a/pkg/controller/kameletbinding/monitor.go b/pkg/controller/kameletbinding/monitor.go
index 75cd342..5c9b599 100644
--- a/pkg/controller/kameletbinding/monitor.go
+++ b/pkg/controller/kameletbinding/monitor.go
@@ -125,11 +125,15 @@ func (action *monitorAction) Handle(ctx context.Context, kameletbinding *v1alpha
 
 func setKameletBindingReadyCondition(kb *v1alpha1.KameletBinding, it *v1.Integration) {
 	if condition := it.Status.GetCondition(v1.IntegrationConditionReady); condition != nil {
+		message := condition.Message
+		if message == "" {
+			message = fmt.Sprintf("Integration %q readiness condition is %q", it.GetName(), condition.Status)
+		}
 		kb.Status.SetCondition(
 			v1alpha1.KameletBindingConditionReady,
 			condition.Status,
 			condition.Reason,
-			fmt.Sprintf("Integration %q readiness condition is %q", it.GetName(), condition.Status),
+			message,
 		)
 	} else {
 		kb.Status.SetCondition(