Question & Answer
Question
How and when to create a Custom Driver for ITNCM
Answer
If your needs are basic -- you just need ITNCM to store device configuration, and don't need to run Command Sets -- then creating a Custom Driver may be a suitable activity.
L2 cannot take on the role of driving the development of specific Custom Drivers, but we can assist you with generic issues you encounter as you perform this task.
The high level steps involved in creatingas Custom Driver are outlined below. See https://www.ibm.com/support/knowledgecenter/en/SS7UH9_6.4.2/ncm/wip/adm/concept/ncm_adm_customdriver_overview.html for the complete documentation.
?
This creates a "stub" driver in ITNCM. There's no SmartModel capabilities in this driver (no form-based configuration, no ability to create Command Sets), but it allows ITNCM can connect to the device and store its configuration.
Create a RAD for the device
For this activity it is best to study and copy the RAD of a similar device and be familiar with the documentation at https://www.ibm.com/support/knowledgecenter/en/SS7UH9_6.4.2/ncm/wip/adm/concept/ncm_adm_devcom_rad.html
Whilst developing the RAD you should enable FINEST logging (see https://www.ibm.com/support/knowledgecenter/SS7UH9_6.4.2/ncm/wip/ref/reference/ncm_ref_scripts_logs.html) and tail that logfile whilst developing the RAD.
Creating the RAD is an iterative process and can take some time.
- TIP: In a multi-Worker deployment, you might also want to develop the RAD in its own realm along with the device, but also create a WorkDistribution in that realm so that only one Worker Server is used. This saves hopping to a different Worker Server.
OPTIONAL: Add Discovery Support
If you need Discovery UOWs to work with the device, you will need to edit the XML and commands.properties under ./ncm/autodiscovery. This is documented at?https://www.ibm.com/support/knowledgecenter/SS7UH9_6.4.2/ncm/wip/disco/concept/ncm_disco_discoveringncm.html.? It's best to read the documentation, then pick a device that can already be discovered and see how it is specified in the XML files. Using the ./ncm/autodiscovery/autodiscover.sh utility whilst working with the XML files is better than generating Discover UOWs via the ITNCM GUI as it generates more logging.
Note that there are some limitations of Custom Drivers that may affect the feasibility or approach you take:
- ITNCM expects to interact with a device over a terminal session (established via Telnet or SSH). If the device doesn't actually support command line interaction it is unlikely a Custom Driver can be developed.
- If the device uses Telnet or SSH in a way previously encountered when developing the drivers on the Supported Device List, then you may have a problem establishing a connection. You should raise a PMR with Support so that they can assist you in understanding if that's a bug or an Enhancement Request.
- You will typically want ITNCM to download the device's configuration, so there should be a way of disabling any pager (the "more?" prompt) and? also disabling line wrapping. If line wrapping cannot be disabled than
- ITNCM has no way of differentiating between a single configuration? statement wrapped over two lines and two configuration statements.
- If the device makes heavy use of terminal escape sequences when drawing configuration, ITNCM may be unable to unmangle the actual configuration. If there is no easy way to differentiate between the start and the end? of the result of applying a command (e.g. "show configuration") than again it could take time to resolve this.
Was this topic helpful?
Document Information
Modified date:
02 November 2020
UID
ibm10787263