Skip to content

Commit bb798a3

Browse files
guxianghongXianghong Gu
and
Xianghong Gu
authored
[centec] Support saiserver docker for centec-x86 and centec-arm64 platform (#9162)
Fix docker-syncd-centec-rpc.gz compile fail Support Centec saiserver docker Co-authored-by: Xianghong Gu <[email protected]>
1 parent 7f45af9 commit bb798a3

File tree

19 files changed

+221
-7
lines changed

19 files changed

+221
-7
lines changed

platform/centec-arm64/.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*.ko.cmd
2+
*.ko
3+
*.mod.c
4+
*.mod.o
5+
modules.order
6+
Module.symvers
7+
.tmp_versions
8+
*.o
9+
*.o.cmd
10+
*.o.d
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
DPATH := $($(DOCKER_SAISERVER_CENTEC)_PATH)
3+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) platform/centec-arm64/docker-saiserver-centec.mk platform/centec-arm64/docker-saiserver-centec.dep
4+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
5+
DEP_FILES += $(shell git ls-files $(DPATH))
6+
7+
$(DOCKER_SAISERVER_CENTEC)_CACHE_MODE := GIT_CONTENT_SHA
8+
$(DOCKER_SAISERVER_CENTEC)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
9+
$(DOCKER_SAISERVER_CENTEC)_DEP_FILES := $(DEP_FILES)
10+

platform/centec-arm64/docker-saiserver-centec.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
DOCKER_SAISERVER_CENTEC = docker-saiserver-centec.gz
44
$(DOCKER_SAISERVER_CENTEC)_PATH = $(PLATFORM_PATH)/docker-saiserver-centec
55
$(DOCKER_SAISERVER_CENTEC)_DEPENDS += $(SAISERVER)
6-
$(DOCKER_SAISERVER_CENTEC)_FILES += $(DSSERVE) $(BCMCMD)
76
$(DOCKER_SAISERVER_CENTEC)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
87
SONIC_DOCKER_IMAGES += $(DOCKER_SAISERVER_CENTEC)
98

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM docker-config-engine-buster
2+
3+
ARG docker_container_name
4+
RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf
5+
6+
## Make apt-get non-interactive
7+
ENV DEBIAN_FRONTEND=noninteractive
8+
9+
RUN apt-get update \
10+
&& apt-get -y install \
11+
libboost-atomic1.71-dev \
12+
libqt5core5a \
13+
libqt5network5
14+
15+
COPY \
16+
{% for deb in docker_saiserver_centec_debs.split(' ') -%}
17+
debs/{{ deb }}{{' '}}
18+
{%- endfor -%}
19+
debs/
20+
21+
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
22+
{% for deb in docker_saiserver_centec_debs.split(' ') -%}
23+
dpkg_apt debs/{{ deb }}{{'; '}}
24+
{%- endfor %}
25+
26+
COPY ["start.sh", "/usr/bin/"]
27+
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
28+
29+
## Clean up
30+
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
31+
RUN rm -rf /debs
32+
33+
ENTRYPOINT ["/usr/local/bin/supervisord"]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
3+
start_centec()
4+
{
5+
}
6+
7+
8+
rm -f /var/run/rsyslogd.pid
9+
10+
supervisorctl start rsyslogd
11+
12+
start_centec
13+
14+
supervisorctl start saiserver
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[supervisord]
2+
logfile_maxbytes=1MB
3+
logfile_backups=2
4+
nodaemon=true
5+
6+
[program:start.sh]
7+
command=/usr/bin/start.sh
8+
priority=1
9+
autostart=true
10+
autorestart=false
11+
stdout_logfile=syslog
12+
stderr_logfile=syslog
13+
14+
[program:rsyslogd]
15+
command=/usr/sbin/rsyslogd -n
16+
priority=2
17+
autostart=false
18+
autorestart=false
19+
stdout_logfile=syslog
20+
stderr_logfile=syslog
21+
22+
[program:saiserver]
23+
command=/usr/sbin/saiserver -p /usr/share/sonic/hwsku/sai.profile -f /usr/share/sonic/hwsku/port_config.ini
24+
priority=3
25+
autostart=false
26+
autorestart=false
27+
stdout_logfile=syslog
28+
stderr_logfile=syslog

platform/centec-arm64/docker-syncd-centec-rpc.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
DOCKER_SYNCD_CENTEC_RPC = docker-syncd-centec-rpc.gz
44
$(DOCKER_SYNCD_CENTEC_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-centec-rpc
5-
$(DOCKER_SYNCD_CENTEC_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
5+
$(DOCKER_SYNCD_CENTEC_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT) $(PTF)
66
$(DOCKER_SYNCD_CENTEC_RPC)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)
77
ifeq ($(INSTALL_DEBUG_TOOLS), y)
88
$(DOCKER_SYNCD_CENTEC_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
@@ -21,5 +21,5 @@ $(DOCKER_SYNCD_CENTEC_RPC)_VERSION = 1.0.0+rpc
2121
$(DOCKER_SYNCD_CENTEC_RPC)_PACKAGE_NAME = syncd
2222
$(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += --privileged -t
2323
$(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
24+
$(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd
2425
$(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
25-
$(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /host/warmboot:/var/warmboot

platform/centec-arm64/docker-syncd-centec-rpc/Dockerfile.j2

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ FROM docker-syncd-centec
22

33
## Make apt-get non-interactive
44
ENV DEBIAN_FRONTEND=noninteractive
5+
RUN apt-get update \
6+
&& apt-get -y install \
7+
libboost-atomic1.71-dev \
8+
libqt5core5a \
9+
libqt5network5
510

611
COPY \
712
{% for deb in docker_syncd_centec_rpc_debs.split(' ') -%}

platform/centec-arm64/libsaithrift-dev.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ SAI_VER = 0.9.4
44

55
LIBSAITHRIFT_DEV = libsaithrift-dev_$(SAI_VER)_$(CONFIGURED_ARCH).deb
66
$(LIBSAITHRIFT_DEV)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
7-
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) $(CENTEC_SAI)
7+
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) $(CENTEC_SAI) $(LIBHIREDIS) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV)
88
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI)
99
SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV)
1010

1111
PYTHON_SAITHRIFT = python-saithrift_$(SAI_VER)_$(CONFIGURED_ARCH).deb
1212
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(PYTHON_SAITHRIFT)))
1313

1414
SAISERVER = saiserver_$(SAI_VER)_$(CONFIGURED_ARCH).deb
15-
$(SAISERVER)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI)
15+
$(SAISERVER)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI) $(LIBHIREDIS) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV)
1616
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(SAISERVER)))
1717

1818
SAISERVER_DBG = saiserver-dbg_$(SAI_VER)_$(CONFIGURED_ARCH).deb

platform/centec-arm64/rules.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
include $(PLATFORM_PATH)/sai.mk
22
include $(PLATFORM_PATH)/docker-syncd-centec.mk
33
include $(PLATFORM_PATH)/docker-syncd-centec-rpc.mk
4+
include $(PLATFORM_PATH)/docker-saiserver-centec.mk
45
include $(PLATFORM_PATH)/one-image.mk
56
include $(PLATFORM_PATH)/libsaithrift-dev.mk
67
include $(PLATFORM_PATH)/tsingma-bsp.mk

platform/centec/.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
centec-dal/.dal*
2+
*.o
3+
*.ko
4+
.tmp_versions
5+
.centec*
6+
Module.symvers
7+
*.mod.c
8+
modules.order
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
DPATH := $($(DOCKER_SAISERVER_CENTEC)_PATH)
3+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) platform/centec/docker-saiserver-centec.mk platform/centec/docker-saiserver-centec.dep
4+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
5+
DEP_FILES += $(shell git ls-files $(DPATH))
6+
7+
$(DOCKER_SAISERVER_CENTEC)_CACHE_MODE := GIT_CONTENT_SHA
8+
$(DOCKER_SAISERVER_CENTEC)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
9+
$(DOCKER_SAISERVER_CENTEC)_DEP_FILES := $(DEP_FILES)
10+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# docker image for centec saiserver
2+
3+
DOCKER_SAISERVER_CENTEC = docker-saiserver-centec.gz
4+
$(DOCKER_SAISERVER_CENTEC)_PATH = $(PLATFORM_PATH)/docker-saiserver-centec
5+
$(DOCKER_SAISERVER_CENTEC)_DEPENDS += $(SAISERVER)
6+
$(DOCKER_SAISERVER_CENTEC)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
7+
SONIC_DOCKER_IMAGES += $(DOCKER_SAISERVER_CENTEC)
8+
9+
$(DOCKER_SAISERVER_CENTEC)_CONTAINER_NAME = saiserver
10+
$(DOCKER_SAISERVER_CENTEC)_RUN_OPT += --privileged -t
11+
$(DOCKER_SAISERVER_CENTEC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
12+
$(DOCKER_SAISERVER_CENTEC)_RUN_OPT += -v /var/run/docker-saiserver:/var/run/sswsyncd
13+
$(DOCKER_SAISERVER_CENTEC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
14+
$(DOCKER_SAISERVER_CENTEC)_RUN_OPT += -v /host/warmboot:/var/warmboot
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM docker-config-engine-buster
2+
3+
ARG docker_container_name
4+
RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf
5+
6+
## Make apt-get non-interactive
7+
ENV DEBIAN_FRONTEND=noninteractive
8+
9+
RUN apt-get update \
10+
&& apt-get -y install \
11+
libboost-atomic1.71-dev \
12+
libqt5core5a \
13+
libqt5network5
14+
15+
COPY \
16+
{% for deb in docker_saiserver_centec_debs.split(' ') -%}
17+
debs/{{ deb }}{{' '}}
18+
{%- endfor -%}
19+
debs/
20+
21+
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
22+
{% for deb in docker_saiserver_centec_debs.split(' ') -%}
23+
dpkg_apt debs/{{ deb }}{{'; '}}
24+
{%- endfor %}
25+
26+
COPY ["start.sh", "/usr/bin/"]
27+
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
28+
29+
## Clean up
30+
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
31+
RUN rm -rf /debs
32+
33+
ENTRYPOINT ["/usr/local/bin/supervisord"]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
3+
start_centec()
4+
{
5+
}
6+
7+
8+
rm -f /var/run/rsyslogd.pid
9+
10+
supervisorctl start rsyslogd
11+
12+
start_centec
13+
14+
supervisorctl start saiserver
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[supervisord]
2+
logfile_maxbytes=1MB
3+
logfile_backups=2
4+
nodaemon=true
5+
6+
[program:start.sh]
7+
command=/usr/bin/start.sh
8+
priority=1
9+
autostart=true
10+
autorestart=false
11+
stdout_logfile=syslog
12+
stderr_logfile=syslog
13+
14+
[program:rsyslogd]
15+
command=/usr/sbin/rsyslogd -n
16+
priority=2
17+
autostart=false
18+
autorestart=false
19+
stdout_logfile=syslog
20+
stderr_logfile=syslog
21+
22+
[program:saiserver]
23+
command=/usr/sbin/saiserver -p /usr/share/sonic/hwsku/sai.profile -f /usr/share/sonic/hwsku/port_config.ini
24+
priority=3
25+
autostart=false
26+
autorestart=false
27+
stdout_logfile=syslog
28+
stderr_logfile=syslog

platform/centec/docker-syncd-centec-rpc/Dockerfile.j2

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ FROM docker-syncd-centec
22

33
## Make apt-get non-interactive
44
ENV DEBIAN_FRONTEND=noninteractive
5+
RUN apt-get update \
6+
&& apt-get -y install \
7+
libboost-atomic1.71-dev \
8+
libqt5core5a \
9+
libqt5network5
510

611
COPY \
712
{% for deb in docker_syncd_centec_rpc_debs.split(' ') -%}

platform/centec/libsaithrift-dev.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ SAI_VER = 0.9.4
44

55
LIBSAITHRIFT_DEV = libsaithrift-dev_$(SAI_VER)_amd64.deb
66
$(LIBSAITHRIFT_DEV)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
7-
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) $(CENTEC_SAI)
7+
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) $(CENTEC_SAI) $(LIBHIREDIS) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV)
88
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI)
99
SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV)
1010

1111
PYTHON_SAITHRIFT = python-saithrift_$(SAI_VER)_amd64.deb
1212
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(PYTHON_SAITHRIFT)))
1313

1414
SAISERVER = saiserver_$(SAI_VER)_amd64.deb
15-
$(SAISERVER)_RDEPENDS += $(LIBTHRIFT) $(BRCM_SAI)
15+
$(SAISERVER)_DEPENDS += $(LIBHIREDIS)
16+
$(SAISERVER)_RDEPENDS += $(LIBTHRIFT) $(CENTEC_SAI) $(LIBHIREDIS) $(LIBNL3_DEV) $(LIBNL_GENL3_DEV)
1617
$(eval $(call add_extra_package,$(LIBSAITHRIFT_DEV),$(SAISERVER)))
1718

1819
SAISERVER_DBG = saiserver-dbg_$(SAI_VER)_amd64.deb

platform/centec/rules.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ include $(PLATFORM_PATH)/platform-modules-centec-v682.mk
44
include $(PLATFORM_PATH)/sdk.mk
55
include $(PLATFORM_PATH)/docker-syncd-centec.mk
66
include $(PLATFORM_PATH)/docker-syncd-centec-rpc.mk
7+
include $(PLATFORM_PATH)/docker-saiserver-centec.mk
78
include $(PLATFORM_PATH)/one-image.mk
89
include $(PLATFORM_PATH)/libsaithrift-dev.mk
910

0 commit comments

Comments
 (0)