Searching the Help
To search for information in the Help, type a word or phrase in the Search box. When you enter a group of words, OR is inferred. You can use Boolean operators to refine your search.
Results returned are case insensitive. However, results ranking takes case into account and assigns higher scores to case matches. Therefore, a search for "cats" followed by a search for "Cats" would return the same number of Help topics, but the order in which the topics are listed would be different.
Search for | Example | Results |
---|---|---|
A single word | cat
|
Topics that contain the word "cat". You will also find its grammatical variations, such as "cats". |
A phrase. You can specify that the search results contain a specific phrase. |
"cat food" (quotation marks) |
Topics that contain the literal phrase "cat food" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying an OR operator, which finds topics with one of the individual words instead of the phrase. |
Search for | Operator | Example |
---|---|---|
Two or more words in the same topic |
|
|
Either word in a topic |
|
|
Topics that do not contain a specific word or phrase |
|
|
Topics that contain one string and do not contain another | ^ (caret) |
cat ^ mouse
|
A combination of search types | ( ) parentheses |
|
- Micro Focus Network Node Manager (NNMi) Integration
- Overview
- Supported Versions
- NNMi - UCMDB Integration Architecture
- Topology
- How to Run NNMi–UCMDB Integration
- How to Manually Add the IpAddress CI of the NNMi Server
- How to Set Up NNMi–UCMDB Integration
- NNMi Integration Job
- How to Customize Integration
- Troubleshooting and Limitations – NNMi Integration
How to Customize Integration
This section describes how to customize the NNM Integration package in order to report additional attributes or entities, or to perform other changes.
The NNM Integration package includes the scripts detailed in the following table:
Name | Description |
---|---|
nnmi_api.py | Implements API for accessing and retrieving data in NNM. Includes definition of base entities, such as Node or Interface, collections, topology and fetcher classes. |
nnmi_filters.py | Support module used by nnmi_api.py. Includes definition of filters, allowing creation of advanced expressions when querying data in NNM. In general, you should not modify this script. |
nnmi.py | Uses API provided by nnm_api.py to retrieve data, form topology into ObjectStateHolder objects and send result to UCMDB. |
NNM_Integration.py | Main entry point of the integration. Contains DiscoveryMain method which is called by probe, and uses nnmi.py. |
NNM_Integration_Utils.py | Previous version of NNM integration implementation, used by CheckCred.py script which validates credentials. |
NNM_Integration_Utils_9.py | Previous version of NNM integration implementation for UCMDB 9.0 |
NNM_Update_Ids.py | Support module which updates custom attribute in NNM with UCMDB ID of the CI. |
The following steps illustrate customization of integration with an example, showing how you discover and report an additional attribute for an Interface. In this example, the attribute is the managementMode property in the NNM interface.
-
Prerequisites
-
You need to know the name of the attribute in NNM. Here it is managementMode.
-
You need to know the name of a method which should be called on the stub to read the corresponding property of entity, in this case Interface. This information is in the corresponding WSDL file or API documentation.
-
-
Property Retrieval
For the new property to be reported, it should be retrieved first. To do that, you must modify the nnmi_api.py script.
-
Locate Entity class
Open nnm_api.py and find the corresponding Entity class. Entity class names follow the pattern Nms*Entity. For this example, you want NmsInterfaceEntity.
-
Add new entry to field_names tuple
Add a new field to the field_names tuple. This tuple is used for real-time entity introspection, mainly debugging.
Note For use in Python classes, translate a camel cased field name into an underscore separated field name. For example: management_mode.
-
Modify constructor of the Entity to read the new property
Modify __init__ method of the entity to read the new property. Modification depends on whether you need property post-processing.
-
Simple read
Call the method on the stub.
-
Read with post processing
Delegate reading of the property to a new method which performs post processing for the retrieved value. In this case the new method is added to an NmsInterfaceEntity class called _get_management_mode which just strips the value of white spaces and makes it lowercase.
-
-
-
Property reporting
Once the modifications to nnmi_api.py are done, the new property is available, but it is not reported yet. To add reporting for this property, you need to modify the nnmi.py script.
-
Locate Builder class
Open the nnmi.py script and find the corresponding Builder class for the entity being reported. All Builder names match the *Builder pattern. In your case, you need the InterfaceBuilder class.
-
Locate a place where ObjectStateHolder is created
Each Builder has a build method and several other methods which assist in the creation of the ObjectStateHolder. Find where this ObjectStateHolder is created either directly or indirectly by calling the method in the modeling.py module. In your example, ObjectStateHolderis created in the method _createInterfaceOsh.
-
Add new attribute reporting
Now you add reporting of the new property. Here, you report the new value to the attribute interface_management_mode of the Interface CIT which you previously created.
-
We welcome your comments!
To open the configured email client on this computer, open an email window.
Otherwise, copy the information below to a web mail client, and send this email to cms-doc@microfocus.com.
Help Topic ID:
Product:
Topic Title:
Feedback: