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
so timeout setting is *not* supported in the Perl API. Bummer.
when that will be supported in the Perl API?
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 (10.42.155.124). : 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 ?
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