Skip to content

Latest commit

 

History

History
69 lines (53 loc) · 1.64 KB

client_server_mode.md

File metadata and controls

69 lines (53 loc) · 1.64 KB

Running SAI Challenger in client-server mode

Prepare docker images

Build client Docker image

./build.sh -i client

Build server Docker image for ASIC trident2 target saivs:

./build.sh -i server -a trident2 -t saivs

Start docker environment

Start SAI Challenger client:

./run.sh -i client

Start SAI Challenger server:

./run.sh -i server -a trident2 -t saivs

Create veth links between client and server dockers:

sudo ./veth-create-host.sh sc-server-run sc-client-run

Where: sc-server-run and sc-client-run are docker names of SAI-Challenger server and client respectively. (sc-server-trident2-saivs-run and sc-client-run)

Alternatively, you can run the whole client-server environment on the same host with a single script:

./run_client_server.sh -a trident2 -t saivs start
./run_client_server.sh start

And then shut it down:

./run_client_server.sh stop

Execute test cases

Run SAI Challenger testcases:

./exec.sh -i client pytest --testbed=saivs_client_server -v -k "test_l2_basic"

Run SAI Challenger testcases and generate HTML report:

./exec.sh -i client pytest --testbed=saivs_client_server -v -k "test_l2_basic" --html=report.html --self-contained-html

NOTE: The option --traffic will be ignored when running on saivs target.

In order to see the syncd log you need to connect to the server:

docker exec -it sc-server-trident2-saivs-run bash

And check /var/log/syslog

To see the input of the redis-server you need to install tcpdump and run it while tests are running:

sudo apt install -y tcpdump
sudo tcpdump port 6379