Details
-
Add New Device / OS
-
Resolution: Fixed
-
Minor
-
None
-
None
-
None
-
Observium Professional 26.7.15008 (r15008, stable, 29 July 2026)
OS: Linux 6.8.0-139-generic amd64 (Ubuntu 24.04.4)
Device: Dell E3248P, SONiC.4.4.0-Lite
Description
Devices running Dell SONiC "Lite" edition are not matched by the existing
"dell-sonic" OS definition in includes/definitions/os/dell.inc.php, and
fall through to the generic "broadcom_fastpath" catch-all instead.
Device output:
sysDescr:
SONiC Software Version: SONiC.4.4.0-Lite - HwSku: DELL-E3248P -
Distribution: Debian 11.10 - Kernel: 5.10.0-21-amd64
sysObjectID:
.1.3.6.1.4.1.4413.1.2.1.2.34
Root cause — two separate mismatches in the dell-sonic definition:
1) includes/definitions/os/dell.inc.php line ~194:
'sysDescr' => '/SONiC .+ Dell/',
This regex is case-sensitive and expects "Dell" (mixed case), but the
device's HwSku string uses all-caps "DELL-E3248P". Needs an /i modifier,
or a case-insensitive match against HwSku specifically.
2) includes/definitions/os/dell.inc.php line ~197:
$config['os'][$os]['sysDescr'][] = "/^SONiC Software .+Enterprise/";
This hard-requires the word "Enterprise" in sysDescr. The "Lite" edition
(SONiC.4.4.0-Lite) does not contain this word, so the device never
matches. This regex needs to also accept "Lite" (and possibly other
Dell SONiC edition suffixes).
Because both match conditions fail, discovery falls through every other
OS definition and lands on includes/discovery/os/broadcom.inc.php, tagging
the device as "Broadcom (FastPath)" (os = broadcom_fastpath) instead of
Dell Enterprise SONiC.
Suggested fix:
'sysDescr' => '/SONiC .+ Dell/i',
$config['os'][$os]['sysDescr'][] = "/^SONiC Software .+(Enterprise|Lite)/";
Full discovery debug log attached (discovery.php -d -m os -h <device>),
showing sysDescr/sysObjectID retrieval succeeding, all other OS checks
failing with "No Such Object", and final fallback to broadcom.inc.php.