Create a custom SNMPv3 Mapping from a Cisco Device to uCMDB

Hi all,  I'm a new uCMDB admin. We recently implemented uCMDB. Our Network admins have filled the






with the asset tag of the device. I would like to map this to


I understand the concept. This would be a custom discovery based on SNMP. I would probably modify an existing SNMP discovery to do it. but I don't understand Jython enough to have a starting point. This seems to me like it would be quick and dirty mod, can anyone assist?


  • So I've found this in SNMP_Networking_Utils. py

    def discoverSysTableData(client):

    snmpAgent = snmputils.SnmpAgent(None, client)

    queryBuilder = snmputils.SnmpQueryBuilder(BASE_SYSTABLE_OID)

    queryBuilder.addQueryElement(1, 'sysDescr')

    queryBuilder.addQueryElement(2, 'sysObjectID')

    queryBuilder.addQueryElement(4, 'sysContact')

    queryBuilder.addQueryElement(5, 'sysName')

    queryBuilder.addQueryElement(6, 'sysLocation')

    queryBuilder.addQueryElement(7, 'sysServices')


    sysTable = snmpAgent.getSnmpData(queryBuilder)


    for data in sysTable:

    classVendorOsAndModel = SnmpQueries.getClassVendorOsAndModelByOid(data.sysObjectID, data.sysDescr)

    setattr(data, 'sysClass', classVendorOsAndModel[0])

    setattr(data, 'sysVendor', classVendorOsAndModel[1])

    setattr(data, 'sysOs', classVendorOsAndModel[2])

    setattr(data, 'sysModel', classVendorOsAndModel[3])



    match ="Nodename:\s*(\w )", data.sysDescr)

    setattr(data, 'sysNodeName', None)

    if match:

    setattr(data, 'sysNodeName',


    if data.sysServices and (int(data.sysServices) & 2) > 0:

    setattr(data, 'isBridge', 1)


    setattr(data, 'isBridge', 0)

    if sysTable:

    return sysTable[0]


    raise ValueError, "Query for System Table returned empty result"


    But they don't do anything with the data,  would it be simply adding following ?

    setattr(data, 'sysContact', classBiosAssetTag[4])


  • Hei Jim,

    Did you manage to get an answer on this ? We have a similar situation in that SysLocation from the same OID group is not populated for Switches and Routers (we also have Cisco Switches).



  • No. I've got an SR opened on it. When I get a resolution to it, I'll post it here.


  • Dorin,

    I got an answer back from HPE. They basically say that the OOB is set and the OID mappings are hard coded. If you change them it voids the warrenty and any tech support agreement you might have. 

    The suggested work around is to move the data to the field that is mapped. Don't alter the mappings.