Managing board information

A client application can use the NMS OAM service to:

Creating board managed objects

A client application can create managed objects for boards in a resource host, even if the board is not yet physically installed in the resource host. Once a board has a managed object, it can be configured. For more information about configuring managed objects, refer to Accessing configuration data.

To create a board managed object, use oamCreateBoard. Pass the following information when invoking the function:

If a plug-in for a board family is not installed on the host, product type names for the boards in the family are not available, and no boards of the family can be created or accessed.

When the function is invoked, a new managed object is created on the resource host. A record for the managed object is created in the NMS OAM database on the host, containing default keyword settings. A default name and board number are generated for the board:

Board ID

Default

Name

Product type and an integer. For example: CG_6000C_QUAD 0

Number

Next available number greater than or equal to zero (0).


The board name is passed back in the function call. The name is added to the list of board names in the Supervisor keyword Boards[x].

You can retrieve the board number using any oamBoardLookupByXXX function, as described in Retrieving board information.

To change the board name and board number, modify the Name or Number keywords for the board-managed object.

Deleting board managed objects

A client application can use oamDeleteBoard to delete a board managed object from a resource host. To use this function, pass the context handle and the name of the board to delete to the NMS OAM service. Specify NULL to delete all boards. To delete a board, the board must exist as a managed object.

A client application cannot delete a managed object if it is currently opened by another application.

Detecting installed boards automatically

The NMS OAM service can detect AG and CG boards physically installed in a chassis and create a managed object for each detected board.

To detect and add boards, the client application invokes oamDetectBoards. This function detects the boards, generates a board name for each board, and adds the board name and other board information to subkeywords of the Supervisor array DetectedBoards[]. The board name can be changed after a managed object is created for the board.

The following information is collected:

Information

Stored in keyword...

Generated board name

DetectedBoards[x].Name

Board product type

DetectedBoards[x].Product

PCI bus location

DetectedBoards[x].Location.PCI.Bus

PCI slot location

DetectedBoards[x].Location.PCI.Slot


Note: oamDetectBoards does not actually add board configuration information to the configuration database; it only collects board information.

The list of detected boards includes all boards physically installed in the resource host, including boards that already have managed objects.

If you have a chassis with an unusual PCI bus topology (for example, bus number 171 directly follows bus number 0), oamDetectBoards may operate more slowly. To speed up operation, create a text file specifying PCI bus numbers to search. For details, refer to the NMS OAM System User's Manual.

To create a managed object for a detected board, invoke oamAddDetectedBoard with the name of the detected board to add. To add all detected boards at once, specify NULL as the board name.

When oamAddDetectedBoard is invoked, a new managed object is created on the resource host for the board. A record for the managed object is created in the NMS OAM database on the host, containing default keyword settings.

oamAddDetectedBoard cannot add a detected board to the configuration if the board's name, PCI bus:slot location, or both matches that of another board already listed in the NMS OAM database. If oamAddDetectedBoard detects a conflict while attempting to add a single board, it returns OAMERR_ALREADY_EXISTS. If the conflict is detected while oamAddDetectedBoard is adding all boards (szName is NULL), it returns OAMEVN_ALERT_INFO for each failed attempt. However, the function returns SUCCESS if at least one board was added successfully to the database.

If you direct oamAddDetectedBoard to add all boards (szName is NULL) and oamDetectBoards was not previously invoked or has found no boards, oamAddDetectedBoard returns OAMERR_NOT_FOUND.