From 8cd8fab68b94dfacd9fb685777b8a9a08d75c473 Mon Sep 17 00:00:00 2001 From: Amruta Sali Date: Fri, 3 Apr 2026 18:46:16 +0000 Subject: [PATCH 1/4] Migrate docker-sonic-mgmt-framework to Debian Trixie Signed-off-by: Amruta Sali --- dockers/docker-sonic-mgmt-framework/Dockerfile.j2 | 4 ++-- rules/docker-sonic-mgmt-framework.mk | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 b/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 index 4e81ddfe1df..f8482c3fb13 100644 --- a/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 +++ b/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 @@ -1,5 +1,5 @@ {% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files, rsync_from_builder_stage %} -ARG BASE=docker-config-engine-bookworm-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}} +ARG BASE=docker-config-engine-trixie-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}} FROM $BASE AS base @@ -9,7 +9,7 @@ ARG docker_container_name ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ - apt-get install -y g++ python3-dev libxml2 libcurl4-openssl-dev libcjson-dev + apt-get install -y g++ python3-dev libxml2 libcurl4t64 libcjson-dev RUN pip3 install requests \ urllib3 diff --git a/rules/docker-sonic-mgmt-framework.mk b/rules/docker-sonic-mgmt-framework.mk index b61716bb8f6..146f6adb82a 100644 --- a/rules/docker-sonic-mgmt-framework.mk +++ b/rules/docker-sonic-mgmt-framework.mk @@ -8,16 +8,16 @@ $(DOCKER_MGMT_FRAMEWORK)_PATH = $(DOCKERS_PATH)/$(DOCKER_MGMT_FRAMEWORK_STEM) $(DOCKER_MGMT_FRAMEWORK)_DEPENDS += $(SONIC_MGMT_COMMON) $(DOCKER_MGMT_FRAMEWORK)_DEPENDS += $(SONIC_MGMT_FRAMEWORK) -$(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_DEPENDS) +$(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_TRIXIE)_DBG_DEPENDS) $(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS += $(SONIC_MGMT_FRAMEWORK_DBG) SONIC_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK) -$(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BOOKWORM) +$(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_TRIXIE) $(DOCKER_MGMT_FRAMEWORK)_VERSION = 1.0.0 $(DOCKER_MGMT_FRAMEWORK)_PACKAGE_NAME = mgmt-framework -$(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_IMAGE_PACKAGES) +$(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_TRIXIE)_DBG_IMAGE_PACKAGES) ifeq ($(INCLUDE_MGMT_FRAMEWORK), y) SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK) @@ -38,5 +38,5 @@ $(DOCKER_MGMT_FRAMEWORK)_RUN_OPT += --mount type=bind,source="/var/platform/",ta $(DOCKER_MGMT_FRAMEWORK)_BASE_IMAGE_FILES += sonic-cli:/usr/bin/sonic-cli -SONIC_BOOKWORM_DOCKERS += $(DOCKER_MGMT_FRAMEWORK) -SONIC_BOOKWORM_DBG_DOCKERS += $(DOCKER_MGMT_FRAMEWORK_DBG) +SONIC_TRIXIE_DOCKERS += $(DOCKER_MGMT_FRAMEWORK) +SONIC_TRIXIE_DBG_DOCKERS += $(DOCKER_MGMT_FRAMEWORK_DBG) From 664f8af3ade0399d5c7cc1cd93a1c75e13f575aa Mon Sep 17 00:00:00 2001 From: Amruta Sali Date: Fri, 10 Apr 2026 18:02:29 +0000 Subject: [PATCH 2/4] The Docker image only needs shared library at runtime - no code is compiled against cjson headers inside the container Signed-off-by: Amruta Sali --- dockers/docker-sonic-mgmt-framework/Dockerfile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 b/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 index f8482c3fb13..037cbf54790 100644 --- a/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 +++ b/dockers/docker-sonic-mgmt-framework/Dockerfile.j2 @@ -9,7 +9,7 @@ ARG docker_container_name ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ - apt-get install -y g++ python3-dev libxml2 libcurl4t64 libcjson-dev + apt-get install -y g++ python3-dev libxml2 libcurl4t64 libcjson1 RUN pip3 install requests \ urllib3 From 9585d23dcd76b96b06f313bc618ca1b46a8ec96c Mon Sep 17 00:00:00 2001 From: Amruta Sali Date: Mon, 20 Apr 2026 19:26:54 +0000 Subject: [PATCH 3/4] mgmt-common/mgmt-framework/telemetry trixie-only since they require Go 1.24.4 (trixie-only) and are only used by trixie-specific docker images. Add BLDENV=trixie conditionals following the libpcre3 pattern to avoid bookworm build failures. Signed-off-by: Amruta Sali --- rules/sonic-mgmt-common.mk | 2 ++ rules/sonic-mgmt-framework.mk | 2 ++ rules/telemetry.mk | 2 ++ 3 files changed, 6 insertions(+) diff --git a/rules/sonic-mgmt-common.mk b/rules/sonic-mgmt-common.mk index 41441ab3ee9..b38e9a5f60f 100644 --- a/rules/sonic-mgmt-common.mk +++ b/rules/sonic-mgmt-common.mk @@ -6,7 +6,9 @@ $(SONIC_MGMT_COMMON)_SRC_PATH = $(SRC_PATH)/sonic-mgmt-common $(SONIC_MGMT_COMMON)_DEPENDS = $(LIBYANG_DEV) $(LIBYANG) $(SONIC_MGMT_COMMON)_RDEPENDS = $(LIBYANG) $(SONIC_MGMT_COMMON)_WHEEL_DEPENDS = $(SONIC_YANG_MODELS_PY3) +ifeq ($(BLDENV),trixie) SONIC_DPKG_DEBS += $(SONIC_MGMT_COMMON) +endif SONIC_MGMT_COMMON_CODEGEN = sonic-mgmt-common-codegen_$(MGMT_COMMON_VERSION)_$(CONFIGURED_ARCH).deb $(eval $(call add_derived_package,$(SONIC_MGMT_COMMON),$(SONIC_MGMT_COMMON_CODEGEN))) diff --git a/rules/sonic-mgmt-framework.mk b/rules/sonic-mgmt-framework.mk index a423f7cd506..0336e459eb8 100644 --- a/rules/sonic-mgmt-framework.mk +++ b/rules/sonic-mgmt-framework.mk @@ -1,6 +1,7 @@ # SONiC mgmt-framework package ifeq ($(INCLUDE_MGMT_FRAMEWORK), y) +ifeq ($(BLDENV),trixie) SONIC_MGMT_FRAMEWORK = sonic-mgmt-framework_1.0-01_$(CONFIGURED_ARCH).deb $(SONIC_MGMT_FRAMEWORK)_SRC_PATH = $(SRC_PATH)/sonic-mgmt-framework @@ -14,3 +15,4 @@ $(SONIC_MGMT_FRAMEWORK_DBG)_RDEPENDS += $(SONIC_MGMT_FRAMEWORK) $(eval $(call add_derived_package,$(SONIC_MGMT_FRAMEWORK),$(SONIC_MGMT_FRAMEWORK_DBG))) endif +endif diff --git a/rules/telemetry.mk b/rules/telemetry.mk index 8e506ed8ff7..bbb4179a9b6 100644 --- a/rules/telemetry.mk +++ b/rules/telemetry.mk @@ -5,7 +5,9 @@ $(SONIC_TELEMETRY)_SRC_PATH = $(SRC_PATH)/sonic-gnmi $(SONIC_TELEMETRY)_DEPENDS = $(SONIC_MGMT_COMMON) $(SONIC_MGMT_COMMON_CODEGEN) \ $(LIBSWSSCOMMON_DEV) $(LIBSWSSCOMMON) $(SONIC_TELEMETRY)_RDEPENDS = $(LIBSWSSCOMMON) +ifeq ($(BLDENV),trixie) SONIC_DPKG_DEBS += $(SONIC_TELEMETRY) +endif SONIC_TELEMETRY_DBG = sonic-gnmi-dbgsym_0.1_$(CONFIGURED_ARCH).deb $(SONIC_TELEMETRY_DBG)_DEPENDS += $(SONIC_TELEMETRY) From 8d583cbc2d26466931ca438cb8c293b2bd775a07 Mon Sep 17 00:00:00 2001 From: Amruta Sali Date: Fri, 1 May 2026 03:47:58 +0000 Subject: [PATCH 4/4] Revert "mgmt-common/mgmt-framework/telemetry trixie-only since they require Go 1.24.4 (trixie-only) and are only used by trixie-specific docker images. Add BLDENV=trixie conditionals following the libpcre3 pattern to avoid bookworm build failures." This reverts commit 9585d23dcd76b96b06f313bc618ca1b46a8ec96c. Signed-off-by: Amruta Sali --- rules/sonic-mgmt-common.mk | 2 -- rules/sonic-mgmt-framework.mk | 2 -- rules/telemetry.mk | 2 -- 3 files changed, 6 deletions(-) diff --git a/rules/sonic-mgmt-common.mk b/rules/sonic-mgmt-common.mk index b38e9a5f60f..41441ab3ee9 100644 --- a/rules/sonic-mgmt-common.mk +++ b/rules/sonic-mgmt-common.mk @@ -6,9 +6,7 @@ $(SONIC_MGMT_COMMON)_SRC_PATH = $(SRC_PATH)/sonic-mgmt-common $(SONIC_MGMT_COMMON)_DEPENDS = $(LIBYANG_DEV) $(LIBYANG) $(SONIC_MGMT_COMMON)_RDEPENDS = $(LIBYANG) $(SONIC_MGMT_COMMON)_WHEEL_DEPENDS = $(SONIC_YANG_MODELS_PY3) -ifeq ($(BLDENV),trixie) SONIC_DPKG_DEBS += $(SONIC_MGMT_COMMON) -endif SONIC_MGMT_COMMON_CODEGEN = sonic-mgmt-common-codegen_$(MGMT_COMMON_VERSION)_$(CONFIGURED_ARCH).deb $(eval $(call add_derived_package,$(SONIC_MGMT_COMMON),$(SONIC_MGMT_COMMON_CODEGEN))) diff --git a/rules/sonic-mgmt-framework.mk b/rules/sonic-mgmt-framework.mk index 0336e459eb8..a423f7cd506 100644 --- a/rules/sonic-mgmt-framework.mk +++ b/rules/sonic-mgmt-framework.mk @@ -1,7 +1,6 @@ # SONiC mgmt-framework package ifeq ($(INCLUDE_MGMT_FRAMEWORK), y) -ifeq ($(BLDENV),trixie) SONIC_MGMT_FRAMEWORK = sonic-mgmt-framework_1.0-01_$(CONFIGURED_ARCH).deb $(SONIC_MGMT_FRAMEWORK)_SRC_PATH = $(SRC_PATH)/sonic-mgmt-framework @@ -15,4 +14,3 @@ $(SONIC_MGMT_FRAMEWORK_DBG)_RDEPENDS += $(SONIC_MGMT_FRAMEWORK) $(eval $(call add_derived_package,$(SONIC_MGMT_FRAMEWORK),$(SONIC_MGMT_FRAMEWORK_DBG))) endif -endif diff --git a/rules/telemetry.mk b/rules/telemetry.mk index bbb4179a9b6..8e506ed8ff7 100644 --- a/rules/telemetry.mk +++ b/rules/telemetry.mk @@ -5,9 +5,7 @@ $(SONIC_TELEMETRY)_SRC_PATH = $(SRC_PATH)/sonic-gnmi $(SONIC_TELEMETRY)_DEPENDS = $(SONIC_MGMT_COMMON) $(SONIC_MGMT_COMMON_CODEGEN) \ $(LIBSWSSCOMMON_DEV) $(LIBSWSSCOMMON) $(SONIC_TELEMETRY)_RDEPENDS = $(LIBSWSSCOMMON) -ifeq ($(BLDENV),trixie) SONIC_DPKG_DEBS += $(SONIC_TELEMETRY) -endif SONIC_TELEMETRY_DBG = sonic-gnmi-dbgsym_0.1_$(CONFIGURED_ARCH).deb $(SONIC_TELEMETRY_DBG)_DEPENDS += $(SONIC_TELEMETRY)