|
|
|||
|
||||
This file is essentially an expanded version of the top-level README file for this SDK. If you like high-speed downloads, stick with the README file. If you would prefer more detail on each of the ONTAPI interfaces and what they are for, this document may help you.
The Manage ONTAP SDK contains resources necessary to develop third-party applications which monitor and manage Network Appliance® appliances. The kit contains libraries, code samples and bindings in C and Perl for the new ONTAPI™ programming interface set.
A filer simulator which runs on Linux or Solaris, that simulates the filer to a very low level, is also available as a separate distribution on the NOW site. It is not included in the SDK however
| Contents of Manage ONTAP |
Manage ONTAP contains information and resources for of a number of API sets
ONTAPI client libraries are included so you can access the ONTAPI interfaces. The ONTAPI management API set is a proprietary set of interfaces which are the recommended API set for all client management-oriented access to the filer that is not covered by other well-known standards. Network Appliance is committed to this library, particularly with respect to unique capabilities of Netapp products which are not covered by other developing standards.
The MIB files used by Data ONTAP are in the doc/mib folder.
Data ONTAP® itself supports many Win32 APIs used by Windows for management and monitoring of the file server. As these are contained in standard Windows libraries, they are not included in Manage ONTAP, but a discussion of supported Win32 APIs may be found in the doc/Win32 folder of the distribution.
Manage ONTAP includes information about the FPolicy interfaces, which presently runs over DCE/RPC. Using this, third party applications can register as a file policy scanner. An almost unlimited control over file access via CIFS and NFS can be achieved with this revolutionary patent-pending API.
The filer also supports a VPolicy interface for virus scanning. This interface is documented separately from the SDK, and is available to partners whose product suites include virus scanning.
Syslog and the Windows audit log formats are supported by Data ONTAP. Documentation on using them is in the doc folder.
While the product documentation and sample code is primarily focused on C/C++,
perl libraries and a subset of the sample
programs in Perl are also provided.
Java support, with client libraries and limited
sample code, was introduced in version 1.2 of the SDK.
Finally, simulators for the Network Appliance filer are provided as a separate distribution on the NOW site. These allow you to test against the Network Appliance product suite using the same tools that Netapp developers use. You can run multiple copies of the simulators when you need to test scenarios in which there are multiple appliances.
| Which APIs should I use? |
The following table lists common tasks that management applications might perform,
along with recommendations on which API set(s) to use. These will be explained
in more detail later.
| Filer/Netcache discovery |
SNMP |
| Network and overall system health monitoring | SNMP |
| On-demand virus scanning | vpolicy |
| On-access file filtering, access control and so on | fpolicy |
| Backup and data migration | NDMP |
| Management of standard CIFS features such as shares, directories, and file permissions | Win32 API |
| Security analysis | syslogs, Windows audit log |
| Management of Netapp-specific functionality such as SnapMirror®, snapshots, quotas and so on | ONTAPI |
| Command-line tasks not covered by any other API | rsh, telnet |
| Description of the APIs |
This section describes each of the API sets and provides links to sample code and documentation.They are ordered roughly by the significance Network Appliance expects each of them to assume as Manage ONTAP matures.
Each of the other API sets in Manage ONTAP have a fairly well-defined role and set of responsibilities. They do not, however, address all the unique functionality offered by Network Appliance products. There are no industry standard APIs at present for managing snapshots and qtrees, for example.The ONTAPI interface set exists to fill this hole. It is, however, designed to play well with emerging storage management standards.
|
|
ONTAPI functions are guaranteed by the Manage ONTAP program to remain backward compatible for the life of the API and the major version of the SDK. When APIs must be updated, the new versions will use new names, take new optional parameters, or in some other way arrange to provide new functionality only to those clients which expect it. Major and minor version numbers will be provided for this purpose. Anytime new APIs are introduced, new optional parameters for existing APIs become available, and so on, the minor version number will be incremented. Major version number changes are reserved for incompatible architectural changes, and are not expected in the near future.
The ONTAPI interface is the foundational API for Network Appliance products moving forward. We value your input. Please contact your Network Appliance representative with suggestions and issues.
| SNMP |
SNMP is a well-known standard for network monitoring. Its original design included provisions for management as well, but that part of the protocol has never achieved critical mass in the industry. Many top-shelf network management applications make heavy use of SNMP for monitoring purposes, however.
|
|
The full SNMP protocol specifies GET, SET and TRAP operations. For security reasons, Netapp products do not support SET operations.
| Win32 |
|
|
| NDMP |
|
|
| Fpolicy and vpolicy |
|
|
The vpolicy interface is not at present included in the SDK, but it is available on request to established antivirus developers. Please see your Advantage Developer representative if you have virus scanning requirements and need access to this interface.
| Syslog |
Filers and NetCaches log a plethora of system events to files in the /etc/log directory. System options allow you to specify file size, wraparound method and so on. The SAG (System Administrator's Guide) for each appliance is the best place to find authoritative info on how these are set up. Log files are usually inspected via scripts or other client program code. To do this, copy them to the client for analysis, or analyze them in place. The client program must have root access to the appliance to access the files, as they are kept in the /etc system directory.
It’s also possible to set up syslog to forward events to a syslog host, which could be your client management host. In this case, you can inspect the logs as they are generated, store them locally or remotely for security purposes, and so on. See the SAG or the man pages for syslogd for details on how to set up syslog in this way. A short document about syslog contains links.
| Win32 Event Log |
Filers also log security events to an NT event log. To view this log manually, use the event viewer and select the “Open Log File” item from the Action menu, then browse to the /etc/log directory and select the adtlog.evt file (the name of this file is configurable by an option). If your application understands the event log file format, treat the log on the filer as if it were a system log from a Windows machine. A short document about Windows logging contains links.
| Rsh and telnet |
Historically, 3rd party applications and scripts have often resorted to rsh or telnet to execute commands on the filer or netcache, and then parsed the results if information was needed back. The biggest problem with these interfaces is command line interface (CLI) change. While Network Appliance makes every effort not to break existing scripts with CLI changes, this is at times unavoidable. Using the ONTAPI interface, on the other hand, gives you strict control over which semantics you use, as API functions are guaranteed to be backward compatible within major versions, and you have control over which version of the interface you use.
Links are in this document about using rsh and telnet.
| API Versions |
Each major release of the ONTAP operating system provides interfaces, such as the MIB, ndmp and ONTAPI, which are supersets of the interfaces provided in earlier releases. The chart at ONTAP_Interface_Versions.html contains links to the versions of various interfaces and lists correspondences to major ONTAP releases.
| Simulators |
Manage ONTAP includes simulators for both the Network Appliance filer running on either Linux or Solaris. Using these, you can test your 3rd party application without fear of disrupting the operation of a production machine. You can also run multiple copies of the simulator to simulate a number of appliances working simultaneously. At least 250MB of main memory per simulator is advised, and each simulator needs its own real or virtual Ethernet interface.
The simulator simulates a filer or netcache to a very low level; even the network device drivers use ONTAP code. Each disk in the appliance is simulated by a file in the ,disks (“comma disks”) directory located in the top-level simulator installation directory. A ,mac-address (“comma mac address”) file in the simulator’s directory tells it what Ethernet MAC address to use. Address conflicts can be fixed by changing one or more of the numbers in that file.
A frequently stumbled over “gotcha” is that simulators cannot contact the host machine on the host’s primary interface. So if you attempt to telnet from the host to the simulator’s command line, the telnet session will hang.
Performance of the simulator is acceptable for unit and integration testing purposes. Performance tests always require real equipment. The simulated disks use approximately twice the disk capacity of the ones they are simulating.
The simulator does NOT provide the kind of data protection one might suppose. The data is only as safe as the disk in the underlying system that stores the files containing the simulated disks.
Setup of simulators requires several steps. The instructions for these are bundled with the simulator itself.
Simulators are not currently supported by Network Appliance Customer Satisfaction, nor is it advised that you use the simulator as a "cheap filer" Complaints about data loss when using a simulator as a file storage appliance will be met with polite derision. If your testing requires a large amount of data on the simulator, we advise storing it elsewhere and writing a script to write it to the simulator's simulated filesystem should it become necessary to reinitialize it for any reason.
| Conclusion |
The long term goal of the Manage ONTAP SDK is to bring the unparalleled simplicity of Network Appliance’s products to the APIs that you, a third party development partner, depend on to build your products.
| Support |
The sample code and documents in the SDK are unsupported by Network Appliance CS. To obtain direct engineering support for your development effort, please contact Network Appliance by sending email to dl-manage-ontap-api@netapp.com.
Your feedback is important to us. If you have suggestions for improvement of this sample code or documentation, please send them to sdk-feedback@netapp.com.
| Legal notices |
Trade and service marks incorporated herein are the property of their respective owners.