Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
IHAC is testing NetApp api and raise the following questions:
they downloaded netapp-manageability-sdk-5.4P1 from NetApp official website.
they found some differences between this new version and current version we are using for 7 mode only.
The new version introduce many new parameters.
One of them is {bindings_family}.
In the new version, when we set the server type to Filer. It will automatically bind to CLUSTER mode.
sub set_server_type ($$) {
my $self = shift;
my $type = shift;
my $port = $self->{port};
if ($type !~ /^(Filer|NetCache|Agent|DFM|OCUM)/i) {
return $self->fail_response(13001,
"in NaServer::set_server_type: bad type \"$type\"");
}
($type =~ /Filer/i) && do {
$self->{url} = "/servlets/netapp.servlets.admin.XMLrequest_filer";
$self->{bindings_family} = "CLUSTER-MODE";
};
…
}
This new version is supposed to be support both 7 mode and C mode.
my $serv = NaServer->new( $hostname_of{$ident}, 1, 1 );
$serv->set_server_type($args{server_type});
…
$serv-> set_bindings_family (‘7-mode’); ## without this call , I can still call API for 7 mode filer even when the bindings_family=’CLUSTER-MODE’
they tried to not set it, I can still call the API for 7-mode filer.
What does bindings family do?
Solved! See The Solution
Hello,
Yes, the current version of the Perl SDK (both with and without bindings) is compatible with 7-Mode. If they are using the new Perl API bindings, with 7-Mode, then setting the bindings_family to "7-Mode" is required along with a server type of "FILER". If they are using the standard NMSDK Perl with 7-Mode, then simply setting the server type to "FILER" is sufficient as it does not differentiate.
Leaving the bindings family at the default "Cluster-Mode" will probably work for some/most of the APIs, but not all of them, particularly if the bindings validation is enabled.
Hope that helps,
Andrew
Hello,
Yes, the current version of the Perl SDK (both with and without bindings) is compatible with 7-Mode. If they are using the new Perl API bindings, with 7-Mode, then setting the bindings_family to "7-Mode" is required along with a server type of "FILER". If they are using the standard NMSDK Perl with 7-Mode, then simply setting the server type to "FILER" is sufficient as it does not differentiate.
Leaving the bindings family at the default "Cluster-Mode" will probably work for some/most of the APIs, but not all of them, particularly if the bindings validation is enabled.
Hope that helps,
Andrew
Thanks a lot! Customer accept it and feel happy!