DX Unified Infrastructure Management

 View Only
  • 1.  Discovery of imported devices

    Posted May 23, 2016 06:31 AM



    I have a question on initial discovery of SNMP devices that were added to the inventory using XML import

    facilities of USM on the frontend side and cm_data_import on the server side. In short, what is the procedure

    of populating the OS info, description, and system name using this route? These fields are populated when

    one runs the "Discovery Wizard" for say a single IP instead.

    I imported SNMP Profiles with XML as a first step and a list of devices with only basic info such as the

    "PrimaryIPV4Address", a "Label", a "UserAlias" and a reference to the corresponding "SnmpProfileUUID".

    I've set the origin to the hub name where snmpcollector is running too in the XML file. I assumed (or hoped)

    that the detailed discovery will fill in the rest so that for example grouping devices by OS type would be



    Even after these imported devices were further imported as snmpcollector profiles probe and that probe

    showed some OS details in the web AC configuration GUI the USM does not present this info.

    The only fields that are shown on the device details tab of the USM that were not already specified in the XML

    import file are the MAC address, the system model, and the vendor.


    Only if I run the discovery for say single IP address with the "Discovery Wizard" the details tab appears

    to become complete. It would be very tedious to repeat this procedure for several hundreds devices

    scattered over many subnets.


    One more thing that may be important. The primary hub running cm_data_import probe is not whitelisted

    on the SNMP devices, only the "remote hub" running the snmpcollector (and a second discovery_agent) is.

    I had to use the specific discovery_agent on the "remote hub" to run the "Discovery Wizard" for one example



    All the docs that I've seem describe the use of  "Discovery Wizard" in detail but only briefly, if at all,

    mention the XML import alternative.



  • 2.  Re: Discovery of imported devices

    Posted May 23, 2016 07:38 AM

    Very old somewhat related (unanswered) thread:

    UMP Auto discovery scopes quick configure?

  • 3.  Re: Discovery of imported devices
    Best Answer

    Broadcom Employee
    Posted May 23, 2016 02:46 PM



    If you want to populate them "after the fact" then querying/discovering them with an agent is likely to be the only option.  Most probes (including snmpcollector) only publish a limited amount of data about devices compared to what discovery_agent does.


    Otherwise, you can pre-specify the properties in the XML file:   Device Examples and Properties - CA Unified Infrastructure Management - 8.0 - CA Technologies Documentation

  • 4.  Re: Discovery of imported devices

    Posted May 24, 2016 02:48 AM

    Thanks for confirmation, Jason!


    Are there any docs on the callbacks of the discovery_agent?


    I tried calling "discover_device". The first strange thing: it does not ask for arguments

    in the web AC. Then it fails complaining about missing "key ip_address". Same with the "pu"

    probe utility in the command line:


    $ /opt/nimsoft/bin/pu -u abc -p xyz /dom/hub/robot/discovery_agent  discover_device

    May 23 13:48:46:848 pu: SSL - init: mode=0, cipher=DEFAULT, context=OK

    May 23 13:48:46:848 pu: nimCharsetSet() - charset=


    Address: /dom/hub/robot/discovery_agent Request: discover_device


    message         PDS_PCH          36 No element found for key ip_address                                                                                                                                                                                                                                                                         ~

    error_code      PDS_I             2 1

    device_properties PDS_PDS           0


    What would be the correct way to invoke this callback?


    To continue the thread from 2011 I quoted above. What could possibly go wrong if one

    manually populates CM_DISCOVERY_NETWORK + CM_NETWORK? Is this data also

    replicated between SQL and Datomic DBs and should be kept in sync? Som notes

    I made for reference:


    The table CM_DISCOVERY_NETWORK contains a  row with the IP address
    of the device to be discovered. It does not contain a reference to
    the  snmp  profile.   However   the  network_id  shared  with  the
    CM_NETWORK_SNMP table  correlates with  the integer  snmp_id.  The
    problem with many scopes is old [1] and likely unsolved.


  • 5.  Re: Discovery of imported devices

    Broadcom Employee
    Posted May 24, 2016 02:06 PM

    I could not find any documentation internally on the discover_device callback; it appears that this is likely an "internal" callback which is used programatically in the interactions between discovery_server, agent, and wizard, but is not intended to be used outside that context.


    I think it would probably be OK to populate CM_DISCOVERY_NETWORK/CM_NETWORK manually, as these are not involved in anything datomic-related, but I haven't tested it - there may be foreign-key constraints and so forth that I'm not aware of.  Aside from that, though, I don't see a huge issue with it.

  • 6.  Re: Discovery of imported devices

    Posted Jun 09, 2016 05:26 AM

    For future readers,


    Manually populating the two tables with single device entries and running

    the discovery in USM seems to work mostly as expected. Though I didnt try

    it at large scale yet. Would be nice to have this option integrated into cm_data_import or the like.


    I still dont seem to quite get the rules for the "Description" field as it is displayed in USM though.

    For some devices it is filled during discovery from SNMP data, for others I see the

    input I supplied in XML, yet others are empty. Or flipping to empty after some time after

    the discovery. What are the exact rules?


    Here some notes:


            Inserting discovery  scopes for singe  IPs with plain SQL works.

            Note that network_id  is an auto-incremented identity column,

            you  cannot insert  specific  values there.  Also  it is  somewhat

            cumbersome  to  get  the  network_id  for  the  recently  inserted

            row. Basic SQL for reference:


            insert into CM_DISCOVERY_NETWORK

            (da_id, created, description, network, exclude, group_id, type)

            values (2, GETDATE(), 'Manual Single', '', 0, 0, 0);


            insert into CM_NETWORK_SNMP (network_id, snmp_id) values (2, 3);


    Deleting a row from CM_DISCOVERY_NETWORK also triggers

    deletion from CM_NETWORK_SNMP with MSSQL, at least.



  • 7.  Re: Discovery of imported devices

    Posted May 24, 2016 04:08 AM

    The related Idea:


    Discover from an file imported list and discovery frequency


    Add your vote there.