The Manage ONTAP™ SDK v2.0P2

          

The use of this SDK is governed by the terms of the License Agreement. The authors of included code also want you to read their copyright notices.


Getting started

Introduction to Manage ONTAP SDK

Release History(including changes made in this release)

What's a filer?

Introduction to ONTAPI Management APIs

Using ONTAPI Programming Interfaces

Browse the APIs

Browse the SDK

Frequently Asked Questions

Versions Matrix

API Versions

Design Guides

System Requirements


The Manage ONTAP Management Interfaces

"Manage ONTAP" is Network Appliance's term for the complete set of management interfaces that can be used to manage a Network Appliance filer.

    

Follow the links in the picture for information on each of the interfaces. This SDK especially features ONTAPI, Network Appliance's new set of open XML-based APIs for managing filers from 3rd party code.


Which interface should I use?

The following table lists common tasks that management applications might perform, along with recommendations on which interface 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, CIFS auditing
Full filesystem scans fast filewalking code
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

Exploring ONTAPI

Use this Windows-based utility to take a look at how ONTAPI routines are called and what kind of information they return.

The ONTAPI Explorer lets you experiment with the ONTAPI APIs  

To explore the APIs from Unix, use the "ontapi" Perl script like this:

% ontapi <filer> root <passwd> snapshot-create volume <vol> snapshot <snapshot>

API Reference -- for APIs like "snapshot-create", above.


Sample code and utilities

 

Sample code and utilities are available--in varying degrees--for three languages at present. We recommend this introductory tutorial before diving in to the links below.

languages
and
interfaces
core
XML

C libraries for using ONTAPI

Core ONTAPI routines in C

Perl libraries for using ONTAPI

Core ONTAPI routines in Perl

Java Classes for using ONTAPI

Core ONTAPI routines in Java

ONTAPI

cg_operation
encrypt_string
fastfilewalk
flexclone
getmac
hello_ontapi
ontapi
optmgmt
quotalist
snapman
snapmirror
snapvault
snmp
symlink
systemcli
vollist

cg_operation.pl
hello_ontapi.pl
monitor_volume.pl
ontapi.pl
optmgmt.pl
print_volume.pl
qtree_quota.pl
quotalist.pl
snapman.pl
snapmirror.pl
snapvault.pl
snmp.pl
README

cg_operation
flexclone
hello_ontapi
ontapi
optmgmt
quotalist
snaplist
snapmirror
snapvault
snmp
systemcli
vollist

named
pipe
ln.cpp    

Fast file walking

A common problem in the SRM space is filesystem traversal to gather information on all the files. Using a multithreaded application is the best way at present to achieve good performance for this task on a filer.

Fast filesystem traversal sample code for Windows

Fast filesystem traversal sample code for Unix


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.


Design Guides

Performance Management Design Book

iSCSI Management Design Book


System Requirements

 

Supported client platforms:

Operating System
Versions
Windows 32 bit 2000, 2003
Windows 64 bit Win 64 IA64, X64
Red Hat Linux(32 bit and 64 bit)* AS V3, V4, ES V3, V4
SuSE Linux(32 bit and 64 bit)* 9.0, 10.0
Solaris sparc 32 bit 8.0, 9.0, 10.0
Solaris x86 32 bit 10.0
AIX 32 bit 5.2, 5.3
HP-UX 32 bit 11.11 and above

*GCC versions 3.2 and above must be used for compiling applications in the 64-bit linux environment.

Filers must be running Data ONTAP 6.4 or later to use the ONTAPI management APIs. SNMP, NDMP, and CLI-based mechanisms will work on older versions of the system software. See the versions matrix for further details.

There are no particular requirements for Win32 or Solaris clients, except those imposed by the applications that use this SDK. However, slow network connections, old slow PCs used for domain controllers and DNS servers and so on, and general network misconfiguration issues will negatively impact the performance of your code.


Support


 
This SDK is provided to enable third-party application development. Network Appliance does not support client-side code through its normal Customer Satisfaction process. If you wish to obtain developer support, please contact Network Appliance by sending email to dl-manage-ontap-api@netapp.com.