From cbaa59c3ad9f410294a61d7e8d776d1663d3b847 Mon Sep 17 00:00:00 2001 From: Gaelle Fournier Date: Wed, 4 Sep 2024 15:17:37 +0200 Subject: [PATCH] feat(5787): Add depreciation condition for telemetry as addon --- e2e/telemetry/telemetry_test.go | 2 ++ pkg/trait/telemetry.go | 23 +++++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/e2e/telemetry/telemetry_test.go b/e2e/telemetry/telemetry_test.go index 12a5cd7f86..0c8ba28daf 100644 --- a/e2e/telemetry/telemetry_test.go +++ b/e2e/telemetry/telemetry_test.go @@ -75,6 +75,8 @@ func TestTelemetryAddon(t *testing.T) { // Create integration and activate traces by telemetry trait ExpectExecSucceed(t, g, Kubectl("apply", "-f", "files/int-rest-consumer-addon.yaml", "-n", ns)) g.Eventually(IntegrationPodPhase(t, ctx, ns, "rest-consumer-addon"), TestTimeoutLong).Should(Equal(corev1.PodRunning)) + g.Eventually(IntegrationCondition(t, ctx, ns, "rest-consumer-addon", "TelemetryTraitInfo"), TestTimeoutShort).Should( + WithTransform(IntegrationConditionMessage, ContainSubstring("Telemetry addon configuration is deprecated"))) name := "Alice" serviceName := fmt.Sprintf("rest-consumer-addon.%s", ns) diff --git a/pkg/trait/telemetry.go b/pkg/trait/telemetry.go index 963cdbe6bd..72af4a2613 100644 --- a/pkg/trait/telemetry.go +++ b/pkg/trait/telemetry.go @@ -67,11 +67,22 @@ func (t *telemetryTrait) Configure(e *Environment) (bool, *TraitCondition, error return false, nil, nil } - if !ptr.Deref(t.Auto, true) { - return true, nil, nil + var condition *TraitCondition + + // Deprecated + if _, isAddon := e.Integration.Spec.Traits.Addons["telemetry"]; isAddon { + condition = NewIntegrationCondition( + "Telemetry", + v1.IntegrationConditionTraitInfo, + corev1.ConditionTrue, + traitConfigurationReason, + "Telemetry addon configuration is deprecated and may be removed in future releases. Make sure to use Telemetry trait configuration instead.", + ) } - var condition *TraitCondition + if !ptr.Deref(t.Auto, true) { + return true, condition, nil + } if t.Endpoint == "" { for _, locator := range discovery.TelemetryLocators { @@ -81,11 +92,15 @@ func (t *telemetryTrait) Configure(e *Environment) (bool, *TraitCondition, error } if endpoint != "" { t.L.Infof("Using tracing endpoint: %s", endpoint) + conditionMessage := "TracingEndpoint" + if condition != nil { + conditionMessage = conditionMessage + ";" + condition.message + } condition = NewIntegrationCondition( "Telemetry", v1.IntegrationConditionTraitInfo, corev1.ConditionTrue, - "TracingEndpoint", + conditionMessage, endpoint, ) t.Endpoint = endpoint