Skip to content

[code sync] Merge code from sonic-net/sonic-buildimage:202511 to 202511_azd#2743

Open
mssonicbld wants to merge 2 commits into
Azure:202511_azdfrom
mssonicbld:sonicbld/202511_azd-merge
Open

[code sync] Merge code from sonic-net/sonic-buildimage:202511 to 202511_azd#2743
mssonicbld wants to merge 2 commits into
Azure:202511_azdfrom
mssonicbld:sonicbld/202511_azd-merge

Conversation

@mssonicbld

Copy link
Copy Markdown
Collaborator
* 6d2cb5278 - (head/202511) [docker-dash-engine]: Make supervisord-dependent-startup install base-agnostic (#28568) (2026-07-23) [mssonicbld]<br>```

mssonicbld and others added 2 commits July 23, 2026 07:12
…-agnostic (#28568)

#### Why I did it

`docker-dash-engine` builds `FROM p4lang/behavioral-model:latest`, whose `:latest` tag resolves to different Ubuntu bases across mirrors:
- a newer PEP 668 base, where a plain system `pip3 install` is refused (`error: externally-managed-environment`), and
- an older base whose `pip3` does not support `--break-system-packages` (`no such option: --break-system-packages`).

So a plain install breaks on the first base and a `--break-system-packages` install breaks on the second; the step fails on one base or the other depending on which image `:latest` currently points to.

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

- `platform/vs/docker-dash-engine/Dockerfile.j2`: install with `--break-system-packages` and fall back to a plain `pip3 install`, so the package installs regardless of whether the base `pip3` supports the flag:
 `RUN pip3 install --break-system-packages supervisord-dependent-startup || pip3 install supervisord-dependent-startup`
- `scripts/docker_version_control.sh`: add `p4lang/behavioral-model` to the reproducible-build version-control whitelist so its digest recorded in `versions-docker` is actually pinned at build time (reduces `:latest` drift).

#### How to verify it

Build the `docker-dash-engine` image / `target/sonic-vs.img.gz`; the `supervisord-dependent-startup` install succeeds on both a PEP 668 base and an older base.

#### Which release branch to backport (provide reason below if selected)

This is a build fix; it can be backported to active release branches that build `docker-dash-engine` and hit the same base-image drift.

- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
- [ ] 202511
- [ ] 202512
- [ ] 202605
- [ ] 202608

#### Tested branch

- [x] master

#### Test result

Verified on both base variants. The PR CI (`Azure.sonic-buildimage`) build passed on this commit — all `BuildVS` (vs / alpinevs / vpp) and platform `Build` jobs are green; the public CI base exercises the older-pip path (the fallback to a plain `pip3 install`). The PEP 668 (Ubuntu 24.04) base path was verified on a separate internal build.

#### Description for the changelog

docker-dash-engine: install supervisord-dependent-startup so it works on both PEP 668 and older pip bases, and pin the p4lang base in version control.

#### Link to config_db schema for YANG module changes

N/A. No YANG or config_db schema changes.

Signed-off-by: Sonic Build Admin <sonicbld@microsoft.com>
@mssonicbld

Copy link
Copy Markdown
Collaborator Author

/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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant