Skip to content

Commit f4fc6ce

Browse files
Bookworm migration for sonic-mgmt-framework and sonic-gnmi dockers (#18548)
* Bookworm migration for mgmt-framework container * Bookworm migration for sonic-gnmi container * removed unnecessary python packages from sonic-mgmt-framework docker manifest file * use curl openssl for mgmt-framework same as what is used in bookworm backend * install python-is-python3 for all archs for bookworm * Address review comment to remove bazel 's python-is-python3 requirement since its to be included unconditionally --------- Co-authored-by: amrutasali <Amruta_Sali@Dell.com> Co-authored-by: amrutasali <51424374+amrutasali@users.noreply.github.com>
1 parent c710002 commit f4fc6ce

File tree

5 files changed

+18
-26
lines changed

5 files changed

+18
-26
lines changed

dockers/docker-sonic-gnmi/Dockerfile.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
2-
FROM docker-config-engine-bullseye-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}}
2+
FROM docker-config-engine-bookworm-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}}
33

44
ARG docker_container_name
55
ARG image_version

dockers/docker-sonic-mgmt-framework/Dockerfile.j2

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,15 @@
1-
FROM docker-config-engine-buster-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}}
1+
FROM docker-config-engine-bookworm-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}}
22

33
ARG docker_container_name
44

55
## Make apt-get non-interactive
66
ENV DEBIAN_FRONTEND=noninteractive
77

88
RUN apt-get update && \
9-
apt-get install -y g++ python3-dev libxml2 libcurl3-gnutls libcjson-dev
10-
11-
# Limited to grpcio 1.58.0 due to armhf
12-
RUN pip3 install connexion==2.7.0 \
13-
setuptools==21.0.0 \
14-
grpcio==1.58.0 \
15-
grpcio-tools==1.20.0 \
16-
certifi==2017.4.17 \
17-
python-dateutil==2.6.0 \
18-
six==1.11.0 \
19-
urllib3==1.26.5
9+
apt-get install -y g++ python3-dev libxml2 libcurl4-openssl-dev libcjson-dev
10+
11+
RUN pip3 install requests \
12+
urllib3
2013

2114
COPY \
2215
{% for deb in docker_sonic_mgmt_framework_debs.split(' ') -%}

rules/docker-gnmi.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@ $(DOCKER_GNMI)_PATH = $(DOCKERS_PATH)/$(DOCKER_GNMI_STEM)
88

99
$(DOCKER_GNMI)_DEPENDS += $(SONIC_MGMT_COMMON)
1010
$(DOCKER_GNMI)_DEPENDS += $(SONIC_TELEMETRY)
11-
$(DOCKER_GNMI)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_DEPENDS)
11+
$(DOCKER_GNMI)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_DEPENDS)
1212

13-
$(DOCKER_GNMI)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BULLSEYE)
13+
$(DOCKER_GNMI)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BOOKWORM)
1414

1515
$(DOCKER_GNMI)_VERSION = 1.0.0
1616
$(DOCKER_GNMI)_PACKAGE_NAME = gnmi
1717

18-
$(DOCKER_GNMI)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_IMAGE_PACKAGES)
18+
$(DOCKER_GNMI)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_IMAGE_PACKAGES)
1919

2020
SONIC_DOCKER_IMAGES += $(DOCKER_GNMI)
21-
SONIC_BULLSEYE_DOCKERS += $(DOCKER_GNMI)
21+
SONIC_BOOKWORM_DOCKERS += $(DOCKER_GNMI)
2222
ifeq ($(INCLUDE_SYSTEM_GNMI), y)
2323
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_GNMI)
2424
endif
2525

2626
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_GNMI_DBG)
27-
SONIC_BULLSEYE_DBG_DOCKERS += $(DOCKER_GNMI_DBG)
27+
SONIC_BOOKWORM_DBG_DOCKERS += $(DOCKER_GNMI_DBG)
2828
ifeq ($(INCLUDE_SYSTEM_GNMI), y)
2929
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_GNMI_DBG)
3030
endif

rules/docker-sonic-mgmt-framework.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ $(DOCKER_MGMT_FRAMEWORK)_PATH = $(DOCKERS_PATH)/$(DOCKER_MGMT_FRAMEWORK_STEM)
88

99
$(DOCKER_MGMT_FRAMEWORK)_DEPENDS += $(SONIC_MGMT_COMMON)
1010
$(DOCKER_MGMT_FRAMEWORK)_DEPENDS += $(SONIC_MGMT_FRAMEWORK)
11-
$(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS)
11+
$(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_DEPENDS)
1212
$(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS += $(SONIC_MGMT_FRAMEWORK_DBG)
1313

1414
SONIC_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK)
15-
$(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
15+
$(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BOOKWORM)
1616

1717
$(DOCKER_MGMT_FRAMEWORK)_VERSION = 1.0.0
1818
$(DOCKER_MGMT_FRAMEWORK)_PACKAGE_NAME = mgmt-framework
1919

20-
$(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
20+
$(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_IMAGE_PACKAGES)
2121

2222
ifeq ($(INCLUDE_MGMT_FRAMEWORK), y)
2323
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK)
@@ -38,5 +38,5 @@ $(DOCKER_MGMT_FRAMEWORK)_RUN_OPT += --mount type=bind,source="/var/platform/",ta
3838

3939
$(DOCKER_MGMT_FRAMEWORK)_BASE_IMAGE_FILES += sonic-cli:/usr/bin/sonic-cli
4040

41-
SONIC_BUSTER_DOCKERS += $(DOCKER_MGMT_FRAMEWORK)
42-
SONIC_BUSTER_DBG_DOCKERS += $(DOCKER_MGMT_FRAMEWORK_DBG)
41+
SONIC_BOOKWORM_DOCKERS += $(DOCKER_MGMT_FRAMEWORK)
42+
SONIC_BOOKWORM_DBG_DOCKERS += $(DOCKER_MGMT_FRAMEWORK_DBG)

sonic-slave-bookworm/Dockerfile.j2

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -694,12 +694,11 @@ RUN apt-get download python3.11-dev:$arch && apt-get download python3-dev:$arch
694694
LABEL "com.azure.dev.pipelines.agent.handler.node.path"="/usr/bin/node"
695695
{% endif -%}
696696

697+
RUN apt install -y python-is-python3
698+
697699
# Install Bazel build system (amd64 and arm64 architectures are supported using this method)
698700
# TODO(PINS): Remove once pre-build Bazel binaries are available for armhf (armv7l)
699701
{%- if CONFIGURED_ARCH == "amd64" or CONFIGURED_ARCH == "arm64" %}
700702
ARG bazelisk_url=https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-{{ CONFIGURED_ARCH }}
701703
RUN curl -fsSL -o /usr/local/bin/bazel ${bazelisk_url} && chmod 755 /usr/local/bin/bazel
702-
# Bazel requires "python"
703-
# TODO(PINS): remove when Bazel is okay with "python3" binary name
704-
RUN apt install -y python-is-python3
705704
{% endif -%}

0 commit comments

Comments
 (0)