You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gf...@apache.org on 2025/02/27 07:57:19 UTC

(camel-k) branch main updated: fix(ctrl): set ready state when reconciling back to normal

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

gfournier 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 53ca587e6 fix(ctrl): set ready state when reconciling back to normal
53ca587e6 is described below

commit 53ca587e694e2fdad5e91c8f160518f8208603b1
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Tue Feb 25 18:07:37 2025 +0100

    fix(ctrl): set ready state when reconciling back to normal
    
    Closes #6080
---
 pkg/controller/integrationplatform/monitor.go      |  2 ++
 pkg/controller/integrationplatform/monitor_test.go | 25 ++++++++++++++++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/pkg/controller/integrationplatform/monitor.go b/pkg/controller/integrationplatform/monitor.go
index 46a07be1a..bd3c245de 100644
--- a/pkg/controller/integrationplatform/monitor.go
+++ b/pkg/controller/integrationplatform/monitor.go
@@ -77,6 +77,8 @@ func (action *monitorAction) Handle(ctx context.Context, platform *v1.Integratio
 
 		return platform, err
 	}
+	// So far the ITP is good
+	platform.Status.Phase = v1.IntegrationPlatformPhaseReady
 	platform.Status.Build.RuntimeCoreVersion = catalog.Spec.GetCamelVersion()
 	// Registry condition
 	isOpenshift, err := openshift.IsOpenShift(action.client)
diff --git a/pkg/controller/integrationplatform/monitor_test.go b/pkg/controller/integrationplatform/monitor_test.go
index b1404fd5d..a3e1a3e3b 100644
--- a/pkg/controller/integrationplatform/monitor_test.go
+++ b/pkg/controller/integrationplatform/monitor_test.go
@@ -236,8 +236,29 @@ func TestMonitorMissingRegistryError(t *testing.T) {
 
 	assert.Equal(t, v1.IntegrationPlatformPhaseError, answer.Status.Phase)
 	assert.Equal(t, corev1.ConditionFalse, answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Status)
-	assert.Equal(t, v1.IntegrationPlatformConditionTypeRegistryAvailableReason, answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Reason)
-	assert.Equal(t, "registry address not available, you need to set one", answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Message)
+	assert.Equal(t,
+		v1.IntegrationPlatformConditionTypeRegistryAvailableReason,
+		answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Reason)
+	assert.Equal(t,
+		"registry address not available, you need to set one",
+		answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Message)
+
+	// fix and see if it reconciles correctly
+	ip.Spec.Build.Registry = v1.RegistrySpec{
+		Address: "1.2.3.4",
+	}
+	answer, err = action.Handle(context.TODO(), &ip)
+	require.NoError(t, err)
+	assert.NotNil(t, answer)
+
+	assert.Equal(t, v1.IntegrationPlatformPhaseReady, answer.Status.Phase)
+	assert.Equal(t, corev1.ConditionTrue, answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Status)
+	assert.Equal(t,
+		v1.IntegrationPlatformConditionTypeRegistryAvailableReason,
+		answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Reason)
+	assert.Equal(t,
+		"registry available at 1.2.3.4",
+		answer.Status.GetCondition(v1.IntegrationPlatformConditionTypeRegistryAvailable).Message)
 }
 
 func TestMonitorMissingCatalogError(t *testing.T) {