Skip to content

Orchestrator container fails to start: ImportError 'LogData' from opentelemetry.sdk._logs #445

@placerda

Description

@placerda

Summary

During deployment of GPT-RAG v2.6.4, the orchestrator container app fails to start due to an ImportError in the OpenTelemetry / Azure Monitor SDK chain. Both container revisions are stuck in a non-running state. The root cause is an incompatibility between azure-monitor-opentelemetry and the installed opentelemetry-sdk version — LogData was moved or removed from opentelemetry.sdk._logs in a newer release.

Affected Release and Components

  • GPT-RAG release/tag: v2.6.4
  • Components involved:
    • gpt-rag-orchestrator — version/tag: v2.6.1
    • gpt-rag-ingestion
    • gpt-rag-ui
    • gpt-rag-mcp

Deployment Context

  • Install type: Fresh install
  • Region: Not specified
  • Network isolation (NETWORK_ISOLATION): Not specified

Steps to Reproduce

  1. Deploy GPT-RAG v2.6.4 infrastructure and orchestrator container app.
  2. Check the orchestrator container app revisions — both are not in Running state.
  3. Open the container app log stream.

Expected Behavior

The orchestrator container starts successfully and both revisions reach Running state.

Actual Behavior / Error

The container crashes on startup with the following import chain failure:

from .agent_strategy_factory import AgentStrategyFactory
  File "/app/src/strategies/agent_strategy_factory.py", line 6, in <module>
    from .mcp_strategy import McpStrategy
  File "/app/src/strategies/mcp_strategy.py", line 37, in <module>
    from telemetry import Telemetry
  File "/app/src/telemetry/__init__.py", line 1, in <module>
    from .telemetry import Telemetry, ExcludeTraceLogsFilter
  File "/app/src/telemetry/telemetry.py", line 6, in <module>
    from azure.monitor.opentelemetry import configure_azure_monitor
  File "/app/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/__init__.py", line 7, in <module>
    from azure.monitor.opentelemetry._configure import configure_azure_monitor
  File "/app/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/_configure.py", line 27, in <module>
    from azure.monitor.opentelemetry._constants import (
  File "/app/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/_constants.py", line 7, in <module>
    from azure.monitor.opentelemetry.exporter._constants import (
  File "/app/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/__init__.py", line 7, in <module>
    from azure.monitor.opentelemetry.exporter.export.logs._exporter import AzureMonitorLogExporter
  File "/app/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/export/logs/_exporter.py", line 14, in <module>
    from opentelemetry.sdk._logs import LogData
ImportError: cannot import name 'LogData' from 'opentelemetry.sdk._logs'

Additional Context

The error indicates a version mismatch between azure-monitor-opentelemetry-exporter and opentelemetry-sdk. The LogData class was likely moved or renamed in a newer opentelemetry-sdk release, breaking the import in azure-monitor-opentelemetry-exporter. Pinning compatible versions of these packages in requirements.txt should resolve the issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions