Data ONTAP Discussions

ZAPI timeout in Perl

I'm trying to figure out how to set a timeout  when I use the Manage
        OnTap API  calls (specifically when I invoke 'volume-list-info',
        'snapshot-list-info' or 'quota-report').  Thus far, the  only thing
        useful that I've  found in the documentation is

        13. How do I make non-blocking  API calls to the storage system?

        You can set the timeout value for the  server connection to a non-zero
        value to make API calls non-blocking. For the  applications that use the
        C  APIs, you can set the timeout value using the Core API
        na_server_set_timeout(). Timeout setting is not  supported in Java and
        Perl  API.

        so timeout setting is *not* supported  in the Perl API.  Bummer.

        when that will be supported in the Perl API?


Re: ZAPI timeout in Perl

ZAPI time out in perl is added as part of Manage ONTAP SDK 3.5.1 release

Re: ZAPI timeout in Perl

I am using ONTAP SDK 3.5.1 for Perl, and Perl 5.8.8 is the installed version. Time out is set to 10 seconds. Here is the code that does this.

$server->set_timeout(10), where server is an instance of NaServer. While this works great in Perl 5.8.8, using 5.8.9 or higher versions result in this following error

in Zapi::invoke, cannot connect to socket 2

Could not connect to system ( : 13001

While looking up in the documentation for IO::Socket, it says that there is some changes with 5.8.9. Is this the cause of the problem.

I also have a general question. SDK comes with the documentation of ONTAP API for several versions. Which version should I be using, may be 1.1 ?

Re: ZAPI timeout in Perl

You can use the latest ONTAPI version 1.11.

This relates to the latest ONTAP APIs.

The other issue I'll investigate and let you know.

But it works well with perl 5.10. Its qualified against perl 5.10