Skip to content
English
  • There are no suggestions because the search field is empty.

Argo CD Upgrade to v3.1.2 Causes OpenTelemetryCollector to Remain in Progressing State

Upgrading from Argo CD v3.0.x to v3.1.2 caused  OpenTelemetryCollector resource status issue due to health check logic

When upgrading Argo CD from v3.0.x to v3.1.2, the deployment enters a continuous Progressing state and never reports Healthy, despite the application working normally.

This issue specifically affects resources using OpenTelemetryCollector in sidecar mode, due to changes introduced in Argo CD’s default health check logic.

Rolling back to v3.0.15 resolves the problem.

  • In v3.1.2, Argo CD introduced new health checks for OpenTelemetryCollector.

  • The health check expects the following field to be populated by the controller:

    status.scale.statusReplicas
  • In this case, the otel controller is not populating this field, especially when the mode is set to sidecar.

  • Since the required field is missing, Argo CD cannot determine that the resource is healthy.

To resolve this as a workaround, override the Argo CD default health check to force the resource into a healthy state.

Add the following to the Argo CD instance resource.customizations:

hs = {}
hs.status = "Healthy"
return hs

This bypasses the health evaluation for the affected resource.

Use this only as a temporary measure if immediate resolution is needed.

In the instance configuration (via UI or declaratively), under argocdConfigMap → resource.customizations:

resource.customizations: |
  "opentelemetry.io/OpenTelemetryCollector":
    health.lua: |
      hs = {}
      hs.status = "Healthy"
      return hs

References:

  • Argo CD v3.1.x Health Check Enhancements

  • OpenTelemetry Operator documentation