Skip to content

Commit

Permalink
fix(ctrl): set ready state when reconciling back to normal
Browse files Browse the repository at this point in the history
Closes #6080
  • Loading branch information
squakez authored and gansheer committed Feb 27, 2025
1 parent 493a787 commit 53ca587
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
2 changes: 2 additions & 0 deletions pkg/controller/integrationplatform/monitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
25 changes: 23 additions & 2 deletions pkg/controller/integrationplatform/monitor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit 53ca587

Please sign in to comment.