You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A customer accidentally changed the sysObjectID value of one of the Netbox Type entries in SeedDB. Changing it back, a leading . was added to the sysObjectID value. While this seems perfectly reasonable (seeing as how this is normally how OIDs are presented), NAV's type registry has the quirk that sysObjectID values must be entered without the leading dot.
However, there is nothing that verifies the value or gives any user feedback about invalid values.
It turns out NetboxType.get_enterprise_id() doesn't handle a sysObjectID value with a leading dot, and returns None rather than a proper enterprise id number (like 9 for Cisco).
This in turn causes ipdevpoll to be unable to detect the proper vendor for devices of this type. Many ipdevpoll plugins will therefore opt to not select vendor-specific MIBs, causing various functionality to fail (such as vendor specific sensor collection, CPU and memory collection, or even power supply and fan monitoring).
Another quirk that appears when this happens, is that SeedDB is now unable to detect an existing type entry for devices of this type when using the "check connectivity" button (even though the IP Device is already associated with the correct type entry).
To Reproduce
Find any IP device with vendor specific support in NAV (e.g. Cisco)
Find the IP device's associated type entry in SeedDB
Edit the type's sysObjectID value, prefixing the existing value with a leading .
Run ipdevpoll collection
Observe that vendor-specific functionality stops working
Expected behavior
NetboxType.get_enterprise_id() should be able to detect an enterprise id from a sysObjectID with a leading .
SeedDB should be able to associate a collected sysObjectID value with one from the type registry, even if it is stored with a leading ..
Optionally, SeedDB and the Type model should refuse to accept values with a leading . if this isn't supposed to work.
Environment (please complete the following information):
NAV version installed: 5.6.0
The text was updated successfully, but these errors were encountered:
Describe the bug
A customer accidentally changed the
sysObjectID
value of one of the Netbox Type entries in SeedDB. Changing it back, a leading.
was added to thesysObjectID
value. While this seems perfectly reasonable (seeing as how this is normally how OIDs are presented), NAV's type registry has the quirk thatsysObjectID
values must be entered without the leading dot.However, there is nothing that verifies the value or gives any user feedback about invalid values.
It turns out
NetboxType.get_enterprise_id()
doesn't handle asysObjectID
value with a leading dot, and returnsNone
rather than a proper enterprise id number (like 9 for Cisco).This in turn causes ipdevpoll to be unable to detect the proper vendor for devices of this type. Many ipdevpoll plugins will therefore opt to not select vendor-specific MIBs, causing various functionality to fail (such as vendor specific sensor collection, CPU and memory collection, or even power supply and fan monitoring).
Another quirk that appears when this happens, is that SeedDB is now unable to detect an existing type entry for devices of this type when using the "check connectivity" button (even though the IP Device is already associated with the correct type entry).
To Reproduce
sysObjectID
value, prefixing the existing value with a leading.
Expected behavior
NetboxType.get_enterprise_id()
should be able to detect an enterprise id from asysObjectID
with a leading.
SeedDB should be able to associate a collected
sysObjectID
value with one from the type registry, even if it is stored with a leading.
.Optionally, SeedDB and the Type model should refuse to accept values with a leading
.
if this isn't supposed to work.Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: