Skip to content

[otel container]: Create otel container for HFT#23666

Merged
kperumalbfn merged 44 commits intosonic-net:masterfrom
Janetxxx:dev/jc/otel-container
Jan 12, 2026
Merged

[otel container]: Create otel container for HFT#23666
kperumalbfn merged 44 commits intosonic-net:masterfrom
Janetxxx:dev/jc/otel-container

Conversation

@Janetxxx
Copy link
Contributor

@Janetxxx Janetxxx commented Aug 11, 2025

Why I did it

This PR adds OpenTelemetry (OTEL) collector support to the system by introducing a new docker-sonic-otel container. The OTEL collector enables telemetry data collection and export for High Frequency Telemetry (HFT) support.

Work item tracking
  • Microsoft ADO (number only):

How I did it

  • Introduces new docker-sonic-otel container with configuration and build files
  • Updates service health checker to handle OTEL container conditionally based on image availability
  • Adds build system variables and configuration for conditional OTEL

How to verify it

Run sudo config feature state otel enabled to enable the otel collector feature, and tested it on KVM T0 testbed (ceos neighbor deployed).

Checked otel container:

admin@vlab-01:~$ docker ps -a | grep otel
400fca26a6c4   docker-sonic-otel:latest             "/usr/local/bin/supe…"   21 hours ago   Up 21 hours             otel

root@vlab-01:/# supervisorctl status
dependent-startup                EXITED    Dec 04 03:07 AM
otel                             RUNNING   pid 219, uptime 0:02:31
rsyslogd                         RUNNING   pid 17, uptime 1:42:34
start                            EXITED    Dec 04 03:05 AM
supervisor-proc-exit-listener    RUNNING   pid 8, uptime 1:42:35

Which release branch to backport (provide reason below if selected)

  • 202205
  • 202211
  • 202305
  • 202311
  • 202405
  • 202411
  • 202505

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Janetxxx Janetxxx marked this pull request as draft August 11, 2025 12:38
@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Nov 3, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: kperumalbfn / name: Kumaresh Perumal (ad2e202)

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Janetxxx Janetxxx force-pushed the dev/jc/otel-container branch from 6bef7de to e991299 Compare November 4, 2025 00:19
@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Janetxxx Janetxxx marked this pull request as ready for review November 4, 2025 00:22
Copilot AI review requested due to automatic review settings November 4, 2025 00:22
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds OpenTelemetry (OTEL) collector support to the system by introducing a new docker-sonic-otel container. The OTEL collector enables telemetry data collection and export for High Fidelity Telemetry (HFT) support.

  • Introduces new docker-sonic-otel container with configuration and build files
  • Updates service health checker to handle OTEL container conditionally based on image availability
  • Adds build system variables and configuration for conditional OTEL inclusion

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/system-health/health_checker/service_checker.py Adds conditional check to skip OTEL container health check when image is not present
slave.mk Adds OTEL build variables and removes trailing whitespace
rules/docker-otel.mk Defines build rules and configuration for the OTEL docker container
rules/docker-otel.dep Defines build dependencies for the OTEL docker container
rules/config Enables OTEL by default with INCLUDE_SYSTEM_OTEL=y
files/build_templates/init_cfg.json.j2 Registers OTEL as a feature in initial config
dockers/docker-sonic-otel/supervisord.conf Configures supervisord for OTEL container processes
dockers/docker-sonic-otel/start.sh Container startup script
dockers/docker-sonic-otel/otel_vars.j2 OTEL collector configuration template
dockers/docker-sonic-otel/otel.sh Script to generate config and start OTEL collector
dockers/docker-sonic-otel/critical_processes Defines critical processes for OTEL container
dockers/docker-sonic-otel/base_image_files/monit_otel Monit configuration for OTEL container memory monitoring
dockers/docker-sonic-otel/Dockerfile.j2 Dockerfile template for building OTEL container image
Makefile.work Adds OTEL build variable to build instruction

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI review requested due to automatic review settings November 12, 2025 23:19
@Janetxxx Janetxxx force-pushed the dev/jc/otel-container branch from 1d47ea8 to e991299 Compare November 12, 2025 23:19
@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mssonicbld
Copy link
Collaborator

/AzurePipelines run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kperumalbfn
Copy link
Contributor

@Janetxxx could you check the copilot comments and resolve them.

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@Janetxxx
Copy link
Contributor Author

Janetxxx commented Jan 9, 2026

@kperumalbfn I've checked Copilot's comments and marked them as resolved. Thanks.

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 8 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202511: #25155

@r12f
Copy link
Contributor

r12f commented Jan 26, 2026

Pick to 202412: Azure/sonic-buildimage-msft#1930

@mssonicbld
Copy link
Collaborator

@Janetxxx cherry pick PR didn't pass PR checker. Please check!!!
#25155

2 similar comments
@mssonicbld
Copy link
Collaborator

@Janetxxx cherry pick PR didn't pass PR checker. Please check!!!
#25155

@mssonicbld
Copy link
Collaborator

@Janetxxx cherry pick PR didn't pass PR checker. Please check!!!
#25155

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants