Skip to content

Commit eebab5f

Browse files
committed
[SAI PTF] SAI PTF docker support sai-ptf v2
Publish the sai-ptf docker. Take part of the change from previous PR sonic-net#11610 (already reverted as some cache issue) Cause in sonic-net#11610, added two new target in it, one is sai-ptf another one is syncd-rpc with sai-ptf v2, to make the upgrade with more clear target, use this one take the sai-ptf one. Test one: NOSTRETCH=y NOJESSIE=y make configure PLATFORM=vs NOSTRETCH=y NOJESSIE=y NOBULLSEYE=y SAITHRIFT_V2=y make target/docker-ptf-sai.gz Signed-off-by: richardyu-ms <[email protected]>
1 parent 71ec4d7 commit eebab5f

File tree

6 files changed

+24
-4
lines changed

6 files changed

+24
-4
lines changed

.azure-pipelines/azure-pipelines-build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ jobs:
121121
mv target/docker-sonic-vs.gz target/docker-sonic-vs-asan.gz
122122
fi
123123
make $BUILD_OPTIONS target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz
124+
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y target/docker-ptf-sai.gz
124125
if [ $(Build.Reason) != 'PullRequest' ];then
125126
gzip -kd target/sonic-vs.img.gz
126127
SONIC_RUN_CMDS="qemu-img convert target/sonic-vs.img -O vhdx -o subformat=dynamic target/sonic-vs.vhdx" make sonic-slave-run

.azure-pipelines/build-template.yml

+1
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ jobs:
9292
fi
9393
9494
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz
95+
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y target/docker-ptf-sai.gz
9596
else
9697
if [ ${{ parameters.dbg_image }} == true ]; then
9798
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) INSTALL_DEBUG_TOOLS=y target/sonic-${{ parameters.platform }}.bin && \

dockers/docker-ptf-sai/Dockerfile.j2

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ RUN pip3 install crc16 \
1616
getmac \
1717
packet_helper \
1818
psutil \
19-
scapy==2.4.4 \
2019
scapy_helper \
2120
pysubnettree \
2221
xmlrunner
@@ -39,3 +38,8 @@ RUN dpkg -r python-ptf
3938
RUN git clone https://github.com/p4lang/ptf.git \
4039
&& cd ptf \
4140
&& python3.7 setup.py install --single-version-externally-managed --record /tmp/ptf_install.txt
41+
42+
run echo "declare -x LANG=\"C.UTF-8\"" >> /root/.bashrc
43+
run echo "declare -x LC_ALL=\"C.UTF-8\"" >> /root/.bashrc
44+
run echo "declare -x PYTHONIOENCODING=\"UTF-8\"" >> /root/.bashrc
45+
run echo "declare -x VIRTUAL_ENV=\"/root/env-python3\"" >> /root/.bashrc

platform/vs/docker-ptf-sai.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
DOCKER_PTF_SAI = docker-ptf-sai.gz
44
DOCKER_PTF_BASE = docker-ptf.gz
55
$(DOCKER_PTF_SAI)_PATH = $(DOCKERS_PATH)/docker-ptf-sai
6-
$(DOCKER_PTF_SAI)_DEPENDS += $(LIBTHRIFT_2) $(PYTHON3_THRIFT_2)
6+
$(DOCKER_PTF_SAI)_DEPENDS += $(LIBTHRIFT_0_14_1) $(PYTHON3_THRIFT_0_14_1)
77
$(DOCKER_PTF_SAI)_LOAD_DOCKERS += $(DOCKER_PTF_BASE)
88
SONIC_DOCKER_IMAGES += $(DOCKER_PTF_SAI)
99
SONIC_BUSTER_DOCKERS += $(DOCKER_PTF_SAI)

platform/vs/docker-ptf.mk

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
DOCKER_PTF = docker-ptf.gz
44
$(DOCKER_PTF)_PYTHON_WHEELS += $(PTF_PY3)
55
$(DOCKER_PTF)_PATH = $(DOCKERS_PATH)/docker-ptf
6-
$(DOCKER_PTF)_DEPENDS += $(LIBTHRIFT) $(PYTHON_THRIFT) $(PTF) $(PYTHON_SAITHRIFT)
6+
$(DOCKER_PTF)_DEPENDS += $(LIBTHRIFT) $(PYTHON_THRIFT) $(PTF)
7+
#Don't need PYTHON_SAITHRIFT in SAITHRIFT_V2 environment
8+
ifeq ($(SAITHRIFT_V2),)
9+
$(DOCKER_PTF)_DEPENDS += $(PYTHON_SAITHRIFT)
10+
else
11+
$(info "SAITHRIFT_V2: $(SAITHRIFT_V2):skip install $(PYTHON_SAITHRIFT).")
12+
endif
713
SONIC_DOCKER_IMAGES += $(DOCKER_PTF)
814
SONIC_BUSTER_DOCKERS += $(DOCKER_PTF)

platform/vs/libsaithrift-dev.mk

+9-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@
22

33
SAI_VER = 0.9.4
44

5-
LIBSAITHRIFT_DEV = libsaithrift-dev_$(SAI_VER)_$(CONFIGURED_ARCH).deb
5+
LIBSAITHRIFT_DEV = libsaithrift$(SAITHRIFT_VER)-dev_$(SAI_VER)_$(CONFIGURED_ARCH).deb
66
$(LIBSAITHRIFT_DEV)_SRC_PATH = $(SRC_PATH)/sonic-sairedis/SAI
7+
#Support two different versions of thrift
8+
ifeq ($(SAITHRIFT_V2),y)
9+
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT_0_14_1) $(LIBTHRIFT_0_14_1_DEV) $(PYTHON3_THRIFT_0_14_1) $(THRIFT_0_14_1_COMPILER) \
10+
$(LIBSAIVS) $(LIBSAIVS_DEV) $(LIBSAIMETADATA) $(LIBSAIMETADATA_DEV)
11+
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT_0_14_1) $(LIBSAIVS) $(LIBSAIMETADATA)
12+
$(LIBSAITHRIFT_DEV)_BUILD_ENV = SAITHRIFTV2=true SAITHRIFT_VER=v2 platform=vs
13+
else
714
$(LIBSAITHRIFT_DEV)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(PYTHON_THRIFT) $(THRIFT_COMPILER) \
815
$(LIBSAIVS) $(LIBSAIVS_DEV) $(LIBSAIMETADATA) $(LIBSAIMETADATA_DEV)
916
$(LIBSAITHRIFT_DEV)_RDEPENDS += $(LIBTHRIFT) $(LIBSAIVS) $(LIBSAIMETADATA)
1017
$(LIBSAITHRIFT_DEV)_BUILD_ENV = platform=vs
18+
endif
1119
SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV)
1220

1321
PYTHON_SAITHRIFT = python-saithrift_$(SAI_VER)_$(CONFIGURED_ARCH).deb

0 commit comments

Comments
 (0)