The timos.yaml under os_detection has the following:
os: timos
group: nokia
text: 'Nokia SR OS (TiMOS)'
type: network
ifXmcbc: true
ifname: true
over:
- { graph: device_bits, text: 'Device Traffic' }
icon: nokia
discovery:
-
sysObjectID:
- .1.3.6.1.4.1.6527.
discovery_modules:
bgp-peers: true
vrf: true
cisco-vrf-lite: false
poller_modules:
bgp-peers: true
And I think my problem is the trailing dot in the sysObjectID. When I add a second line and just delete that final dot, the Nokia 7710 I am testing against gets discovered as TiMOS and as generic without it.
Here is what the discovery capture shows it’s returning for it’s sysObjectIDs, sysDescr, and sysName:
#### Load disco module core ####
Attempting to initialize OS: timos
OS initialized: LibreNMS\OS\Timos
SNMP['/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/nokia' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'COMMUNITY' '-OQXUte' '-Pu' '-On' '-r' '3' 'udp:HOSTNAME:161' 'SNMPv2-MIB::sysObjectID.0' 'SNMPv2-MIB::sysDescr.0' 'SNMPv2-MIB::sysName.0']
.*.*.0 = .*.4.1.6527
.*.*.0 = TiMOS-B-14.12.private both/ppc Nokia 7710 ISAM Copyright (c) 2000-2023 Nokia.
All rights reserved. All use subject to applicable license agreements.
Built on Build on Tue Mar 14 19:43:15 IST 2023 by bmc in /repo/ef/fanth/sw/vobs/dsl/IPD/main
.*.*.0 = UNTY-FX7360-1
I am trying to avoid submitting a PR for such a trivial change, and I hit up Claude/ChatGPT to try to find a way to just add this second OID to the os_detection YAML. I think both hallucinated in different ways and took me on a side quest.
If I understand correctly, I cannot add a config setting to add this OID to the sysObjectID because only the YAML files are referenced during discovery, correct?
Second, does LibreNMS use a “resources/definitions/custom/” directory to put custom YAML files in?
My final question is if this YAML file is correct by having a trailing dot if the final number (6527) is the final number in the value of sysDescr? My guess is it works fine for devices that more values afterward, but since this device doesn’t then it doesn’t “match”?