ONTAP Discussions

API support for NetApp cluster 8.0

POOJA_HP_09
4,656 Views

Hi All,

I am working on getting info for NetApp cluster 8.1.0 using and pretty new to the same. When i tried executing the following API:

"

public class ZapiClient {

          public static void main(String[] args) {

                    try {

                              NaServer s = new NaServer("<Cluster_interface_id>", 1 , 9);

                              s.setServerType(NaServer.SERVER_TYPE_FILER);

                              s.setTransportType(NaServer.TRANSPORT_TYPE_HTTP);

                              s.setPort(80);

                              s.setStyle(NaServer.STYLE_LOGIN_PASSWORD);

                              s.setAdminUser("<UserName>", "<Password>");

                              NaElement api = new NaElement("system-get-info");

                              NaElement xo = s.invokeElem(api);

                              System.out.println(xo.getAttr("status"));

                              List<NaElement> children = xo.getChildren();

                              for (NaElement child : children) {

                                        System.out.println(child.getName() + ":" + child.getContent());

                              }

                    } catch (NaException e) {

                              handleException(e);

                    } catch (UnknownHostException e) {

                              handleException(e);

                    } catch (IOException e) {

                              handleException(e);

                    }

          }

          private static void handleException(Exception e) {

                    System.out.println(e.getMessage());

                    e.printStackTrace();

          }

}

"

with the IP Address and credentials of 8.1 cluster, it threw the following error:

"

Unable to find API: system-get-info (errno=13005)

netapp.manage.NaAPIFailedException: Unable to find API: system-get-info (errno=13005)

        at netapp.manage.NaServer.invokeElem(NaServer.java:715)

        at ZapiClient.main(ZapiClient.java:24)

"

Got the same error for several other APIs like volume-get-root-name etc, while these APIs work fine for NetApp cluster 7.x.

Could anyone please help me understand

  1. what are the major differences between 7.x and 8.1.0 cluster with respect to usage of APIs for getting cluster info.
  2. Do we support APIs for NetApp cluster 8.1.0 onwards?
  3. If we don't support APIs for collecting cluster info, is there any other way we can collect 8.1.0 cluster info using java code?
  4. Also, I was able to get cluster8.1 info using "Cluster-mode" APIs. Does this infer that only cluster-mode APIs can be used for Cluster 8.1? (Though this is not the case for cluster 7.x. I am able to use cluster-mode as well as other APIs for Cluster 7.x)
  5. Happened to read :

          "Cluster-Mode APIs are unsupported in Data ONTAP 8.0"" (at this link- https://communities.netapp.com/thread/6569). Could you please help me understand what does this mean?

Kindly let me know if some more clarification is required for any of the queries above.

Thanks in advance.

Best Regards,

Pooja

3 REPLIES 3

bbjholcomb
4,656 Views

The big change it's NC instead of NA (get-na vs get-nc), a lot of the fields have changes and  you have to pass more information such as VSERVER.

It would be nice to see what the differences are in one document but I don't think you will ever see it. I believe that there will be a lot more changes in 8.2 so your API fields will change again. I'm just re-writing my programs again, too many changes.

churchie
3,338 Views

Where is the documentation on this new naming convention for the Nc classes.
I don't see any support of this anywhere in NetApp support sites? Any help?

churchie
3,334 Views

were you ever able to resolve this?

I am having the same issue trying to use HP's discovery tool to discover Filer data using the JAVA NM SDK with a Filer (FAS6290) running ONTAP 8.3.1 P2. I can make the calls to pull the ontapi version and it works with that, returning major and minor versions (1.31) but when i try 'system-get-info' it throws the NaAPIFailedException, same as yours. 

Public