SAI VPP UT Harness - PR Check Support in sonic-platform-vpp#264
SAI VPP UT Harness - PR Check Support in sonic-platform-vpp#264nicholasching wants to merge 3 commits into
Conversation
Signed-off-by: Nicholas Ching <nicholaslching@gmail.com>
|
/azp run |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Signed-off-by: Nicholas Ching <nicholaslching@gmail.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Adds Azure Pipelines support to validate sonic-platform-vpp VPP changes against the sonic-sairedis SAI VPP unit-test harness by building a derived test image with current-run VPP debs and executing a fixed test matrix on the sonictest pool.
Changes:
- Introduces
BuildSaiVppTestImageandTestSaiVpppipeline stages wired intoazure-pipelines.ymlwith a newsairedis_run_idparameter. - Adds templates to (1) overlay current-run VPP debs into an approved
docker-sai-test-vppbase image and (2) run/publish the SAI VPP compatibility test matrix results. - Documents the new CI flow in
README.md.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Documents the new VPP SAI compatibility CI flow and how it sources the sairedis artifact and test policy. |
| azure-pipelines.yml | Adds a sairedis_run_id parameter and new stages to build an overlay test image and run the SAI VPP matrix. |
| .azure-pipelines/build-sai-vpp-test-image-template.yml | Implements the “overlay VPP debs onto approved sairedis image” build and provenance/checksum generation. |
| .azure-pipelines/test-sai-vpp-template.yml | Runs the matrix in a privileged container on sonictest, evaluates baseline, and publishes results/logs. |
| .azure-pipelines/Dockerfile.sai-vpp-overlay | Dockerfile for installing/reinstalling the selected VPP debs onto the approved base image. |
| - name: sairedis_run_id | ||
| type: string | ||
| default: '1170125' |
| copy_one_deb 'libvppinfra_*_amd64.deb' | ||
| copy_one_deb 'vpp_*_amd64.deb' | ||
| copy_one_deb 'vpp-plugin-core_*_amd64.deb' | ||
| copy_one_deb 'vpp-plugin-dpdk_*_amd64.deb' |
| contract_dir="$download_dir/ci-contract" | ||
| matrix_rc="$(cat "$results_dir/matrix.rc")" | ||
|
|
||
| python3 -c 'import defusedxml' 2>/dev/null || sudo uv pip install --system defusedxml |
|
All tests, including the newly added SAI VPP tests are now passing. This concludes the following features on this draft PR, which can be reviewed after the following
I have attached the results of a recent stable build below to checkpoint development: The most recent commit, pinning the sairedis artifact to a successful build on my fork, was made to validate functionality of the SAI VPP test harness. To prepare this PR for review, that change will be reverted in the next commit; therefore, the SAI VPP tests will fail until the aforementioned PR dependencies are merged to |
Signed-off-by: Nicholas Ching <nicholaslching@gmail.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
.azure-pipelines/test-sai-vpp-template.yml:89
- This step installs
defusedxmlviauv, butuvis not used elsewhere in this repo and may not be present on the self-hostedsonictestpool. Ifuvis missing, the matrix evaluation will fail even thoughpython3is available. Consider using a fallback chain (uv -> pip -> install pip) so the job is self-contained.
python3 -c 'import defusedxml' 2>/dev/null || sudo uv pip install --system defusedxml
| - publish: $(Build.ArtifactStagingDirectory)/sai-vpp-results | ||
| artifact: ${{ parameters.log_artifact_name }}@$(System.JobAttempt) | ||
| displayName: Publish VPP SAI logs and results |
desc added soon