Skip to content

Commit 5314230

Browse files
[docker-syncd-%-rpc]: Integrate syncd dockers with rpc (#431)
* Build docker-syncd-*-rpc for brcm and mlnx * Fix errors * Update make files for rpc * Fix mistypes
1 parent 9e8df96 commit 5314230

File tree

11 files changed

+51
-11
lines changed

11 files changed

+51
-11
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@ dockers/docker-team/Dockerfile
3636
dockers/docker-teamd/Dockerfile
3737
dockers/docker-config-engine/Dockerfile
3838
dockers/docker-base/Dockerfile
39-
platform/broadcom/docker-syncd-brcm/Dockerfile
39+
platform/*/docker-syncd-*/Dockerfile
40+
platform/*/docker-syncd-*-rpc/Dockerfile
41+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# docker image for brcm syncd with rpc
2+
3+
DOCKER_SYNCD_BRCM_RPC = docker-syncd-brcm-rpc.gz
4+
$(DOCKER_SYNCD_BRCM_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-brcm-rpc
5+
$(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD) $(LIBTHRIFT)
6+
$(DOCKER_SYNCD_BRCM_RPC)_FILES += $(DSSERVE) $(BCMCMD)
7+
$(DOCKER_SYNCD_BRCM_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_BRCM)
8+
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM_RPC)

dockers/docker-syncd-brcm-rpc/Dockerfile renamed to platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2

+13-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,19 @@ FROM docker-syncd-brcm
33
## Make apt-get non-interactive
44
ENV DEBIAN_FRONTEND=noninteractive
55

6-
COPY deps /deps
6+
COPY \
7+
{% for deb in docker_syncd_brcm_rpc_debs.split(' ') -%}
8+
debs/{{ deb }}{{' '}}
9+
{%- endfor -%}
10+
debs/
11+
12+
RUN dpkg -r syncd
13+
14+
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
15+
dpkg_apt \
16+
{% for deb in docker_syncd_brcm_rpc_debs.split(' ') -%}
17+
debs/{{ deb }}{{' '}}
18+
{%- endfor %}
719

820
## Pre-install the fundamental packages
921
RUN apt-get update \
@@ -34,9 +46,6 @@ RUN apt-get update \
3446
&& cd /opt \
3547
&& wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
3648
&& dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } \
37-
&& dpkg -r syncd \
38-
&& dpkg_apt /deps/syncd_*.deb \
39-
&& dpkg_apt /deps/libthrift-0.9.3_*.deb \
4049
&& apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
4150
&& rm -rf /deps
4251

platform/broadcom/rules.mk

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ include $(PLATFORM_PATH)/platform-modules-arista.mk
66
include $(PLATFORM_PATH)/platform-modules-ingrasys-s9100.mk
77
include $(PLATFORM_PATH)/docker-orchagent-brcm.mk
88
include $(PLATFORM_PATH)/docker-syncd-brcm.mk
9+
include $(PLATFORM_PATH)/docker-syncd-brcm-rpc.mk
910
include $(PLATFORM_PATH)/one-image.mk
1011
include $(PLATFORM_PATH)/one-aboot.mk
1112

@@ -18,7 +19,8 @@ $(DSSERVE)_URL = "https://sonicstorage.blob.core.windows.net/packages/dsserve?sv
1819
SONIC_ONLINE_FILES += $(BCMCMD) $(DSSERVE)
1920

2021
SONIC_ALL += $(SONIC_ONE_IMAGE) $(SONIC_ONE_ABOOT_IMAGE) \
21-
$(DOCKER_FPM_GOBGP)
22+
$(DOCKER_FPM_GOBGP) \
23+
$(DOCKER_SYNCD_BRCM_RPC)
2224

2325
# Inject brcm sai into sairedis
2426
$(LIBSAIREDIS)_DEPENDS += $(BRCM_OPENNSL) $(BRCM_SAI) $(BRCM_SAI_DEV)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# docker image for mlnx syncd with rpc
2+
3+
DOCKER_SYNCD_MLNX_RPC = docker-syncd-mlnx-rpc.gz
4+
$(DOCKER_SYNCD_MLNX_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx-rpc
5+
$(DOCKER_SYNCD_MLNX_RPC)_DEPENDS += $(SYNCD) $(LIBTHRIFT)
6+
$(DOCKER_SYNCD_MLNX_RPC)_FILES += $(MLNX_FW)
7+
$(DOCKER_SYNCD_MLNX_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MLNX)
8+
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX_RPC)

dockers/docker-syncd-mlnx-rpc/Dockerfile renamed to platform/mellanox/docker-syncd-mlnx-rpc/Dockerfile.j2

+13-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,19 @@ FROM docker-syncd-mlnx
33
## Make apt-get non-interactive
44
ENV DEBIAN_FRONTEND=noninteractive
55

6-
COPY deps /deps
6+
COPY \
7+
{% for deb in docker_syncd_mlnx_rpc_debs.split(' ') -%}
8+
debs/{{ deb }}{{' '}}
9+
{%- endfor -%}
10+
debs/
11+
12+
RUN dpkg -r syncd
13+
14+
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
15+
dpkg_apt \
16+
{% for deb in docker_syncd_mlnx_rpc_debs.split(' ') -%}
17+
debs/{{ deb }}{{' '}}
18+
{%- endfor %}
719

820
## Pre-install the fundamental packages
921
RUN apt-get update \
@@ -34,9 +46,6 @@ RUN apt-get update \
3446
&& cd /opt \
3547
&& wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
3648
&& dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } \
37-
&& dpkg -r syncd \
38-
&& dpkg_apt /deps/syncd_*.deb \
39-
&& dpkg_apt /deps/libthrift-0.9.3_*.deb \
4049
&& apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
4150
&& rm -rf /deps
4251

platform/mellanox/rules.mk

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ include $(PLATFORM_PATH)/mft.mk
44
include $(PLATFORM_PATH)/mlnx-sai.mk
55
include $(PLATFORM_PATH)/hw-management.mk
66
include $(PLATFORM_PATH)/docker-syncd-mlnx.mk
7+
include $(PLATFORM_PATH)/docker-syncd-mlnx-rpc.mk
78
include $(PLATFORM_PATH)/docker-orchagent-mlnx.mk
89
include $(PLATFORM_PATH)/one-image.mk
910

1011
SONIC_ALL += $(SONIC_ONE_IMAGE) \
11-
$(DOCKER_FPM_GOBGP)
12+
$(DOCKER_FPM_GOBGP) \
13+
$(DOCKER_SYNCD_MLNX_RPC)
1214

1315
# Inject mlnx sai into sairedis
1416
$(LIBSAIREDIS)_DEPENDS += $(MLNX_SAI)

0 commit comments

Comments
 (0)