This is an automated email from the ASF dual-hosted git repository.
astefanutti pushed a commit to branch release-1.8.x
in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/release-1.8.x by this push:
new ac32ef8 fix: Propagate readiness condition message in KameletBinding
if present
ac32ef8 is described below
commit ac32ef88f8ce0a1688329884fbc55c74b4d68a45
Author: Antonin Stefanutti <[email protected]>
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(