Developing device adapters
BMC Network Automation implements the device interface through a flexible mechanism known as device adapters. An adapter defines and controls how devices are managed in a way that does not hard-code the behavior, allowing changes to be made dynamically, without software upgrades. BMC delivers a set of factory-installed adapters. However, you can also develop your own adapters to extend the system, using the factory-installed ones as examples and the content in this topic as reference. By developing your own adapters, you can add support for a type of device that is not supported out of the box, perform additional site-specific operations on devices, collect additional settings or statistics, and integrate with external systems.
This topic describes types of device adapters supported by BMC Network Automation and the basic adapter development process.
Types of device adapters
BMC Network Automation supports the following types of device adapters:
|Vendors||A vendor defines an equipment manufacturer, used for organizing device types. For more details, see Developing a vendor adapter.|
|Device Types||A device type defines how to interact with one flavor or model of an equipment, including how to obtain and modify its configuration or settings. For more details, see Developing a device type adapter.|
A configuration trail defines a collection or logical grouping of configuration settings or operating parameters that can be obtained from a device, where the system maintains a change history over time. For more details, see Developing a configuration trail adapter.
|Custom Actions||A custom action defines commands to be run on a device that perform a non-standard operation (that is, an operation beyond the standard span actions shipped with the system, such as Snapshot, Deploy to Active, and Reboot). A custom action extends what an existing device type can do. For more details, see Developing a custom action adapter.|
|External Script Actions|
An external script action defines a program or script that can be executed by a job that performs highly site-specific customized manipulations (such as interfacing with external databases or other management systems). For more details, see Developing an external script action adapter.
Device adapter development process
A device adapter is developed using XML, so familiarity with XML concepts and syntax is a prerequisite. W3schools is an excellent XML reference and tutorials site. For the general concepts and XML tags that are common to multiple device adapter types, see Common concepts and XML elements.
The basic device adapter development procedure is as follows:
- Analyze the problem you are trying to solve and determine what type of adapter is needed, from the adapters described above. You might need a single adapter (such as when adding an external script action) or a combination of multiple adapters (you might need a new vendor and one or more configuration trails to support a new device type; or you might need a configuration trail to support a custom action).
- Develop the adapter in an XML file using the allowed syntax. The recognized elements and their order are defined by the DeviceTypeMap.xsd file, which is located in the BCAN_HOME\public\bmc\bca-networks\xml directory. For information about the elements and their attributes, see the respective device adapter sections described above.
- Import the adapter into BMC Network Automation as described in Importing device adapters. The import process validates the XML syntax and installs it into the system for use.
- Test and debug your adapter.
- Publish your adapter to your users (such as by importing it into your production environment, or by updating roles to allow more users to execute new custom or external script actions).