From 8ed348b506f7572780bc41dd812ff2b0691c65f6 Mon Sep 17 00:00:00 2001 From: Junhua Zhai Date: Tue, 16 Aug 2022 12:17:03 +0000 Subject: [PATCH 1/5] Build docker-gbsyncd-broncos image --- platform/broadcom/rules.dep | 2 -- platform/broadcom/rules.mk | 2 -- platform/components/docker-gbsyncd-broncos.mk | 7 +++++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/platform/broadcom/rules.dep b/platform/broadcom/rules.dep index 220ee801994..075636a8ded 100644 --- a/platform/broadcom/rules.dep +++ b/platform/broadcom/rules.dep @@ -30,6 +30,4 @@ include $(PLATFORM_PATH)/libsaithrift-dev.dep include $(PLATFORM_PATH)/docker-syncd-brcm-dnx.dep include $(PLATFORM_PATH)/docker-syncd-brcm-dnx-rpc.dep include $(PLATFORM_PATH)/../components/docker-gbsyncd-credo.dep -ifeq ($(INCLUDE_GBSYNCD_BRONCOS), y) include $(PLATFORM_PATH)/../components/docker-gbsyncd-broncos.dep -endif diff --git a/platform/broadcom/rules.mk b/platform/broadcom/rules.mk index 0b46bb1c8ec..c43a66ee43e 100644 --- a/platform/broadcom/rules.mk +++ b/platform/broadcom/rules.mk @@ -29,9 +29,7 @@ include $(PLATFORM_PATH)/libsaithrift-dev.mk include $(PLATFORM_PATH)/docker-syncd-brcm-dnx.mk include $(PLATFORM_PATH)/docker-syncd-brcm-dnx-rpc.mk include $(PLATFORM_PATH)/../components/docker-gbsyncd-credo.mk -ifeq ($(INCLUDE_GBSYNCD_BRONCOS), y) include $(PLATFORM_PATH)/../components/docker-gbsyncd-broncos.mk -endif BCMCMD = bcmcmd $(BCMCMD)_URL = "https://sonicstorage.blob.core.windows.net/packages/20190307/bcmcmd?sv=2015-04-05&sr=b&sig=sUdbU7oVbh5exbXXHVL5TDFBTWDDBASHeJ8Cp0B0TIc%3D&se=2038-05-06T22%3A34%3A19Z&sp=r" diff --git a/platform/components/docker-gbsyncd-broncos.mk b/platform/components/docker-gbsyncd-broncos.mk index 6e280ee5a65..147923cabf7 100644 --- a/platform/components/docker-gbsyncd-broncos.mk +++ b/platform/components/docker-gbsyncd-broncos.mk @@ -1,5 +1,8 @@ -LIBSAI_BRONCOS = libsaibroncos_0.0.1_amd64.deb -$(LIBSAI_BRONCOS)_URL = +LIBSAI_BRONCOS_VERSION = 3.8 +LIBSAI_BRONCOS_BRANCH_NAME = REL_3.8 +LIBSAI_BRONCOS_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/bcmpai/$(LIBSAIBCM_BRANCH_NAME)/$(LIBSAIBCM_XGS_VERSION)" +LIBSAI_BRONCOS = libsaibroncos_$(LIBSAI_BRONCOS_VERSION)_amd64.deb +$(LIBSAI_BRONCOS)_URL = "$(LIBSAI_BRONCOS_URL_PREFIX)/$(LIBSAI_BRONCOS)" ifneq ($($(LIBSAI_BRONCOS)_URL),) From 4043f11cd729f3473d49555778817b148d8130a0 Mon Sep 17 00:00:00 2001 From: Junhua Zhai Date: Thu, 18 Aug 2022 01:56:14 +0000 Subject: [PATCH 2/5] Correct typo in LIBSAI_BRONCOS_URL_PREFIX --- platform/components/docker-gbsyncd-broncos.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/components/docker-gbsyncd-broncos.mk b/platform/components/docker-gbsyncd-broncos.mk index 147923cabf7..1aad33f9680 100644 --- a/platform/components/docker-gbsyncd-broncos.mk +++ b/platform/components/docker-gbsyncd-broncos.mk @@ -1,6 +1,6 @@ LIBSAI_BRONCOS_VERSION = 3.8 LIBSAI_BRONCOS_BRANCH_NAME = REL_3.8 -LIBSAI_BRONCOS_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/bcmpai/$(LIBSAIBCM_BRANCH_NAME)/$(LIBSAIBCM_XGS_VERSION)" +LIBSAI_BRONCOS_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/bcmpai/$(LIBSAI_BRONCOS_BRANCH_NAME)/$(LIBSAI_BRONCOS_VERSION)" LIBSAI_BRONCOS = libsaibroncos_$(LIBSAI_BRONCOS_VERSION)_amd64.deb $(LIBSAI_BRONCOS)_URL = "$(LIBSAI_BRONCOS_URL_PREFIX)/$(LIBSAI_BRONCOS)" From 438b57137450308261762625d87d0636d4c96e56 Mon Sep 17 00:00:00 2001 From: Junhua Zhai Date: Mon, 22 Aug 2022 14:24:49 +0000 Subject: [PATCH 3/5] Update docker-gbsyncd-broncos/Dockerfile.j2 --- platform/components/docker-gbsyncd-broncos/Dockerfile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 index f114679c688..154c7735ce9 100644 --- a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 +++ b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 @@ -1,4 +1,4 @@ -FROM docker-config-engine-bullseye +FROM docker-config-engine-bullseye-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}} ARG docker_container_name RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf From 7d73318d958202f58844886c14910b99b529d19f Mon Sep 17 00:00:00 2001 From: Junhua Zhai Date: Mon, 7 Nov 2022 09:08:06 +0000 Subject: [PATCH 4/5] Enable debug shell support on docker-gbsyncd-broncos --- .../docker-gbsyncd-broncos/Dockerfile.j2 | 2 + .../components/docker-gbsyncd-broncos/bcmsh | 40 +++++++++++++++++++ .../critical_processes.j2 | 1 + .../supervisord.conf.j2 | 2 +- 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100755 platform/components/docker-gbsyncd-broncos/bcmsh diff --git a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 index 154c7735ce9..80406bb7ed1 100644 --- a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 +++ b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 @@ -32,6 +32,8 @@ COPY ["critical_processes.j2", "/usr/share/sonic/templates"] COPY ["supervisord.conf.j2", "/usr/share/sonic/templates"] COPY ["files/supervisor-proc-exit-listener", "/usr/bin"] +COPY ["files/dsserve", "/usr/bin/"] +RUN chmod +x /usr/bin/dsserve ## Clean up RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y diff --git a/platform/components/docker-gbsyncd-broncos/bcmsh b/platform/components/docker-gbsyncd-broncos/bcmsh new file mode 100755 index 00000000000..bad7a105195 --- /dev/null +++ b/platform/components/docker-gbsyncd-broncos/bcmsh @@ -0,0 +1,40 @@ +#!/bin/bash +usage="$(basename "$0") [-h] [-q] [-t timeout] -- interactive shell for bcm service + +where: + -h show this help text + -t inactivity timeout in seconds (default 300 seconds, 0 for no timeout) + -q quite, no banner (default: verbose)" + +banner="Press Enter to show prompt. +Press Ctrl+C to exit. +NOTICE: Only one bcmsh or bcmcmd can connect to the shell at same time. +" + +# Default verbose +quiet=false +timeout=300 + +while getopts 'hqt:' option; do + case "$option" in + h) echo "$usage" + exit + ;; + q) quiet=true + ;; + t) timeout=$OPTARG + ;; + \?) printf "illegal option: -%s\n" "$OPTARG" >&2 + echo "$usage" >&2 + exit 1 + ;; + esac +done +shift $((OPTIND - 1)) + +if [ "$quiet" = false ]; then + echo "$banner" +fi + +/usr/bin/socat -T$timeout readline UNIX-CONNECT:/var/run/sswsyncd/sswgbsyncd.socket + diff --git a/platform/components/docker-gbsyncd-broncos/critical_processes.j2 b/platform/components/docker-gbsyncd-broncos/critical_processes.j2 index bdd6903c569..d1163a9c304 100644 --- a/platform/components/docker-gbsyncd-broncos/critical_processes.j2 +++ b/platform/components/docker-gbsyncd-broncos/critical_processes.j2 @@ -1 +1,2 @@ +program:dsserve program:syncd diff --git a/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 b/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 index c274315ef67..2ac52c22c28 100644 --- a/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 +++ b/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 @@ -33,7 +33,7 @@ dependent_startup_wait_for=rsyslogd:running [program:syncd] environment=BRONCOS_DEVICE_PATH=/usr/lib -command=/usr/bin/syncd -s -p /etc/sai.d/psai.profile -x /usr/share/sonic/hwsku/context_config.json -g 1 +command=/usr/bin/dsserve -f /var/run/sswsyncd/sswgbsyncd.socket /usr/bin/syncd --diag -s -p /etc/sai.d/psai.profile -x /usr/share/sonic/hwsku/context_config.json -g 1 priority=3 autostart=false autorestart=false From ee0ef1cfebe01cb0c6f4a0a2ff77183793e1458d Mon Sep 17 00:00:00 2001 From: Junhua Zhai Date: Tue, 8 Nov 2022 03:22:01 +0000 Subject: [PATCH 5/5] Include bcmsh in docker-gbsyncd-broncos --- platform/components/docker-gbsyncd-broncos/Dockerfile.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 index 80406bb7ed1..ca7670acb62 100644 --- a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 +++ b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 @@ -27,6 +27,7 @@ debs/{{ deb }}{{' '}} COPY ["docker-init.sh", "/usr/bin/"] COPY ["start.sh", "/usr/bin/"] +COPY ["bcmsh", "/usr/bin/"] COPY ["critical_processes.j2", "/usr/share/sonic/templates"] COPY ["supervisord.conf.j2", "/usr/share/sonic/templates"]