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

tsato pushed a commit to branch release-1.10.x
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit dc40afe6336ab2fb38a1c1cd9ec27e1eb912418a
Author: Tadayoshi Sato <[email protected]>
AuthorDate: Wed Nov 16 18:22:09 2022 +0900

    chore(controller): small refactoring of health types
---
 pkg/controller/integration/health.go      | 17 ++++++++++-------
 pkg/controller/integration/health_test.go |  8 ++++----
 pkg/controller/integration/monitor.go     | 11 +++++------
 3 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/pkg/controller/integration/health.go 
b/pkg/controller/integration/health.go
index 731e2eacb..351a3c7c2 100644
--- a/pkg/controller/integration/health.go
+++ b/pkg/controller/integration/health.go
@@ -30,28 +30,31 @@ import (
        "k8s.io/client-go/kubernetes"
 )
 
-type HealthCheckState string
+type HealthCheckStatus string
 
 const (
-       HealthCheckStateDown HealthCheckState = "DOWN"
-       HealthCheckStateUp   HealthCheckState = "UP"
+       HealthCheckStatusDown HealthCheckStatus = "DOWN"
+       HealthCheckStatusUp   HealthCheckStatus = "UP"
+
+       // The key used for propagating error details from Camel health to 
MicroProfile Health
+       // (See CAMEL-17138).
+       HealthCheckErrorMessage = "error.message"
 )
 
 type HealthCheck struct {
-       Status HealthCheckState      `json:"status,omitempty"`
+       Status HealthCheckStatus     `json:"status,omitempty"`
        Checks []HealthCheckResponse `json:"checks,omitempty"`
 }
 
 type HealthCheckResponse struct {
        Name   string                 `json:"name,omitempty"`
-       Status HealthCheckState       `json:"status,omitempty"`
+       Status HealthCheckStatus      `json:"status,omitempty"`
        Data   map[string]interface{} `json:"data,omitempty"`
 }
 
 func NewHealthCheck(body []byte) (*HealthCheck, error) {
        health := HealthCheck{}
-       err := json.Unmarshal(body, &health)
-       if err != nil {
+       if err := json.Unmarshal(body, &health); err != nil {
                return nil, err
        }
 
diff --git a/pkg/controller/integration/health_test.go 
b/pkg/controller/integration/health_test.go
index ab7c2fc89..ef1a9c799 100644
--- a/pkg/controller/integration/health_test.go
+++ b/pkg/controller/integration/health_test.go
@@ -61,24 +61,24 @@ func TestNewHealthCheck(t *testing.T) {
        `)
        health, err := NewHealthCheck(body)
        assert.NoError(t, err)
-       assert.Equal(t, HealthCheckStateDown, health.Status)
+       assert.Equal(t, HealthCheckStatusDown, health.Status)
        assert.Len(t, health.Checks, 3)
        assert.Equal(t, "camel-routes", health.Checks[0].Name)
-       assert.Equal(t, HealthCheckStateDown, health.Checks[0].Status)
+       assert.Equal(t, HealthCheckStatusDown, health.Checks[0].Status)
        assert.True(t, reflect.DeepEqual(health.Checks[0].Data, 
map[string]interface{}{
                "route.id":           "route1",
                "route.context.name": "camel-1",
                "route.status":       "Stopped",
        }))
        assert.Equal(t, "context", health.Checks[1].Name)
-       assert.Equal(t, HealthCheckStateUp, health.Checks[1].Status)
+       assert.Equal(t, HealthCheckStatusUp, health.Checks[1].Status)
        assert.True(t, reflect.DeepEqual(health.Checks[1].Data, 
map[string]interface{}{
                "context.name":    "camel-1",
                "context.version": "3.16.0",
                "context.status":  "Started",
        }))
        assert.Equal(t, "camel-consumers", health.Checks[2].Name)
-       assert.Equal(t, HealthCheckStateDown, health.Checks[2].Status)
+       assert.Equal(t, HealthCheckStatusDown, health.Checks[2].Status)
        assert.True(t, reflect.DeepEqual(health.Checks[2].Data, 
map[string]interface{}{
                "route.id":           "route1",
                "route.context.name": "camel-1",
diff --git a/pkg/controller/integration/monitor.go 
b/pkg/controller/integration/monitor.go
index 5bb26171c..e97580fef 100644
--- a/pkg/controller/integration/monitor.go
+++ b/pkg/controller/integration/monitor.go
@@ -23,6 +23,7 @@ import (
        "fmt"
        "reflect"
        "strconv"
+       "strings"
 
        appsv1 "k8s.io/api/apps/v1"
        batchv1 "k8s.io/api/batch/v1"
@@ -41,9 +42,6 @@ import (
        "github.com/apache/camel-k/pkg/util/kubernetes"
 )
 
-// The key used for propagating error details from Camel health to 
MicroProfile Health (See CAMEL-17138).
-const runtimeHealthCheckErrorMessage = "error.message"
-
 func NewMonitorAction() Action {
        return &monitorAction{}
 }
@@ -417,10 +415,10 @@ func (action *monitorAction) probeReadiness(
                                return err
                        }
                        for _, check := range health.Checks {
-                               if check.Status == HealthCheckStateUp {
+                               if check.Status == HealthCheckStatusUp {
                                        continue
                                }
-                               if _, ok := 
check.Data[runtimeHealthCheckErrorMessage]; ok {
+                               if _, ok := 
check.Data[HealthCheckErrorMessage]; ok {
                                        integration.Status.Phase = 
v1.IntegrationPhaseError
                                }
                                runtimeNotReadyMessages = 
append(runtimeNotReadyMessages,
@@ -433,7 +431,8 @@ func (action *monitorAction) probeReadiness(
                if integration.Status.Phase == v1.IntegrationPhaseError {
                        reason = v1.IntegrationConditionErrorReason
                }
-               setReadyCondition(integration, corev1.ConditionFalse, reason, 
fmt.Sprintf("%s", runtimeNotReadyMessages))
+               message := fmt.Sprintf("[%s]", 
strings.Join(runtimeNotReadyMessages, ", "))
+               setReadyCondition(integration, corev1.ConditionFalse, reason, 
message)
        }
 
        return nil

Reply via email to