Skip to content

SAI VPP UT Harness - PR Check Support in sonic-platform-vpp#264

Open
nicholasching wants to merge 3 commits into
sonic-net:masterfrom
nicholasching:sai_vpp_ut_phase3
Open

SAI VPP UT Harness - PR Check Support in sonic-platform-vpp#264
nicholasching wants to merge 3 commits into
sonic-net:masterfrom
nicholasching:sai_vpp_ut_phase3

Conversation

@nicholasching

Copy link
Copy Markdown

desc added soon

Signed-off-by: Nicholas Ching <nicholaslching@gmail.com>
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

Signed-off-by: Nicholas Ching <nicholaslching@gmail.com>
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 BuildSaiVppTestImage and TestSaiVpp pipeline stages wired into azure-pipelines.yml with a new sairedis_run_id parameter.
  • Adds templates to (1) overlay current-run VPP debs into an approved docker-sai-test-vpp base 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.

Comment thread azure-pipelines.yml Outdated
Comment on lines +35 to +37
- name: sairedis_run_id
type: string
default: '1170125'
Comment on lines +103 to +106
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
@nicholasching

nicholasching commented Jul 21, 2026

Copy link
Copy Markdown
Author

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 sonic-sairedis PRs are merged to master: sonic-net/sonic-sairedis#1950, sonic-net/sonic-sairedis#1951, and sonic-net/sonic-sairedis#1952, and 2 new PRs which contain the master-update fixes and test image artifact creation respectively.

  • Phase 3B, CI integration of SAI VPP UT to sonic-platform-vpp

I have attached the results of a recent stable build below to checkpoint development:
Github Run: https://github.com/sonic-net/sonic-platform-vpp/runs/88512308179
Azure Build: https://dev.azure.com/mssonic/build/_build/results?buildId=1170172&view=results

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 sonic-sairedismaster and an successful artifact is generated.

Signed-off-by: Nicholas Ching <nicholaslching@gmail.com>
Copilot AI review requested due to automatic review settings July 21, 2026 19:14
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 defusedxml via uv, but uv is not used elsewhere in this repo and may not be present on the self-hosted sonictest pool. If uv is missing, the matrix evaluation will fail even though python3 is 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

Comment on lines +121 to +123
- publish: $(Build.ArtifactStagingDirectory)/sai-vpp-results
artifact: ${{ parameters.log_artifact_name }}@$(System.JobAttempt)
displayName: Publish VPP SAI logs and results
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants