A client application can use the NMS OAM service to:
Create board managed objects on a host.
Delete board managed objects on a host.
Detect and add boards physically installed in a host. This feature is not supported by all board plug-ins.
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:
The context handle to the resource host where the board is installed.
The product type for the board. When the Supervisor on the resource host starts up, it queries all of the plug-ins installed on the host for the names of all product types that they support. These names are stored in the Supervisor array keyword Products[x].
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.
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.
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 |
|
|
Board product type |
|
|
PCI bus location |
|
|
PCI slot location |
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.