FAQ

 

         


July 2007


Questions

1) How do I get "HOSTS" method working using PERL if I get "Authorization failed"?

HOSTS method requires 'httpd.admin.hostsequiv.enable' option on the filer to be set to 'on'. If this option is not set 'on', you will get 'Authorization failed' error when using SDK PERL methods. Though it will be able to successfully run rsh commands to the filer.
>options httpd
httpd.access
legacy
httpd.admin.access legacy
httpd.admin.enable on
httpd.admin.hostsequiv.enable on
httpd.admin.max_connections 1023
httpd.admin.ssl.enable off
httpd.autoindex.enable on
httpd.enable on
httpd.log.format common
httpd.method.trace.enable off
httpd.rootdir XXX
httpd.timeout 300
httpd.timewait.enable off

In order to set the above option, run the following command on NetApp system:

Filer> options httpd.admin.hostsequiv.enable on

2) How do I fix "SSL initialization" error when using HTTPS transport option in my application ?

Check OpenSSL libraries are in your path envrionment variable. On Unix, check LD_LIBRARY_PATH has path for OpenSSL libraries. On Windows, check PATH envrionment variable has path for OpenSSL libraries.

In absence of above, the application fails with error “SSL initialization failed”.

3)To which port does ONTAPI connect on the filer ?


ONTAPI connects to the following port on the filer :

HTTP transport - 80

HTTPS transport - 443

4)Where do I find information on NetApp MIBs and supported Data ONTAP versions?

NetApp MIBs are available in SDK's doc/mib directory. See the versions matrix for further details.

5)How to discover whether a device is a filer ?

Querying SNMP OID .1.3.6.1.2.1.1.1.0 will get you system version number:

% snmpget <filer> public .1.3.6.1.2.1.1.1.0
system.sysDescr.0 = Netapp Release <release string>

6)Does HTTP for ONTAPI access to vfilers work in ONTAP versions earlier than 7.2?

No. It only works from ONTAP 7.2 onwards.

7)Do SDK libraries work with older ONTAP versions?

Yes. Libraries shipped in the later versions of the SDK work with older APIs (example: SDK 1.6 will work with ONTAP versions lesser than 7.2).

SDK provides core routines (na* routines) that are used to package up XML requests and unbundle the replies. SDK provides documentation of APIs. APIs invoked reside on ONTAP.

8)Which ONTAPI version should be used by the client programs?

As a good practice, the client program should specify the lowest possible ONTAPI version that has the APIs that the client program actually uses. This will ensure that the client program is usable on as many filers as possible.

If the client program specifies the latest version of ONTAPI, it will only be usable on the latest version of ONTAPI, even if it uses older APIs.

The ONTAPI version is specified in na_server_open().

Example : s = na_server_open(argv[1],1,4);

By providing the version 1.4 in the client program, it's usable on ONTAP 7.0, 7.1 and 7.2. The API 'system-get-ontapi-version' can be used by the client program to know the ONTAPI version of server (ONTAP). Note : Vfiler tunneling is supported from ONTAP 7.2.1 onwards, and the client program should specify ONTAPI version 1.7 or above to make use of this feature. Vfiler tunneling is the ability to execute an API on a vfiler through a physical filer. This feature is supported by the -v option of the ontapi utility. The na_server_set_vfiler interface is used for the same.

9)Where can I find more information on the error returned by APIs?

include/netapp_errno.h in the SDK provides information on the error numbers returned by the APIs.

10)What is the behaviour of an API in the absence of the required license on the filer?

API returns EAPILICENSE error in the absence of the required license on the filer.