Commit fde71a9
committed
[docker-sonic-vs] Set ASIC_VENDOR=vs via image ENV for vstest
BufferMgrDynamic (cfgmgr/buffermgrdyn.cpp) aborts its constructor when
ASIC_VENDOR is unset ("Platform environment variable is not defined,
buffermgrd won't start"), returning before loading its buffer Lua plugins.
The empty SHAs then make every EVALSHA fail with NOSCRIPT, so the shared
buffer pool size is never computed, m_bufferPoolReady stays false, and
dynamic BUFFER_QUEUE_TABLE entries are never programmed. This breaks
sonic-swss test_buffer_dynamic.py::TestBufferMgrDyn::test_changeSpeed,
which restarts buffermgrd mid-test.
On real platforms ASIC_VENDOR is injected at container launch by
docker_image_ctl.sh (-e ASIC_VENDOR=<platform> for the swss container),
but the DVS/vstest harness starts docker-sonic-vs directly, so that
injection never runs. The previous per-script 'export ASIC_VENDOR=vs' in
buffermgrd.sh only covered buffermgrd (not orchagent/neighorch, which also
reads getenv("ASIC_VENDOR")) and was easy to drop.
Set ASIC_VENDOR=vs once as an image ENV (next to PLATFORM/HWSKU) so it is
present for every daemon and survives supervisorctl restarts, and remove
the redundant export from buffermgrd.sh.
Validated: test_changeSpeed passes (1 passed in 114.86s) with NOSCRIPT and
'Platform environment variable is not defined' counts both 0.
Signed-off-by: securely1g <securely1g@users.noreply.github.com>1 parent 61bf898 commit fde71a9
2 files changed
Lines changed: 6 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
203 | 209 | | |
204 | 210 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| |||
0 commit comments