Software Development Kit (SDK) and API Discussions

NetApp Manageability SDK Feedback

nagendrk
16,357 Views

Folks,

 

We've now merged the Manage ONTAP SDK and the initial version of NetApp Manageability SDK into one single SDK.  Also, added new features like Web Services.  Would like to hear your feedback...

39 REPLIES 39

rle
NetApp Alumni
6,459 Views

I agree that quota-entry could use the disk-limit and file-limit values.  Currently there are 3 choices

1. Call quota-get-entry for each interested quota.  (Could take a long time for all quotas in the file.)

2. Parse the line element in quota-entry.  (Less time calling APIs, but code has to parse the quota line.)

3. Invoke quota-report API.  (Only returns data on quotas that have been turned-on.)

Regards,

   - Rick -

MOREONTAP
6,460 Views

In my case I only have 2 options....I am invoking the quota-report API, but it will return nothing during initization. So my process has to block and wait for it to finish ( could be a long time. )

So I am looking for an alternate solution that will return quota settings 100% of the time, too bad quota-list-entries can't fullfill this need.


rle
NetApp Alumni
6,468 Views

I hope quota-status is being used to determine when the initialization is done.

   - Rick -

MOREONTAP
6,458 Views

I started a new thread about an issue I am seeing with the SDK "No response received from nfs-exportfs-modify-rule"

http://communities.netapp.com/message/57722

What can be done to debug this issue ?

DEVELOPER
6,456 Views

I have a much more basic problem with the NM SDK:

As an independent third-party consultant without a valid system serial number, support contract, or reseller agreement, I am apparently not entitled to download the SDK. This means I am unable to engage clients who need custom tools, thereby limiting the usefulness of their NetApp installations.

Do not suggest that I have clients obtain the SDK on my behalf, or provide me with their NOW credentials; either of these is unprofessional enough that I would rather just turn them down. Which is apparently what I'm doing.

Rephrased in the form of a question: does NetApp have any mechanism to support independent third-party developers?

kunalm
6,456 Views

Richard

How do you plan to test any of the custom tools that you develop for your clients?

DEVELOPER
6,458 Views

Assuming software ever gets written, I have access to a lab and/or simulator. However, the lab machines aren't mine, and some of them have expired support contracts. None of which is relevant to the issue at hand: I cannot download the SDK.

sven_kirsten
6,455 Views

Hello,

we use the Monitoring Agent for NetApp Storage Version 710. And have Operations Manager 5.0 running.

Some Performance Values (CPU Counters) will not be shown in the Tivoli GUI.

In the log file knu_data_provider_bkup_0.log I see a lot of error like this:

2012-07-24 16:15:08 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '75383'. (errno=13001). Aborting.

2012-07-24 16:15:09 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '75394'. (errno=13001). Aborting.

2012-07-24 16:15:13 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '51620'. (errno=13001). Aborting.

2012-07-24 16:15:13 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '99677'. (errno=13001). Aborting.

2012-07-24 16:15:13 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '99684'. (errno=13001). Aborting.

2012-07-24 16:15:16 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '75384'. (errno=13001). Aborting.

2012-07-24 16:15:16 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '126941'. (errno=13001). Aborting.

2012-07-24 16:15:16 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '125983'. (errno=13001). Aborting.

2012-07-24 16:15:16 11 SEVERE: Inventory.getAvailablePerformanceCounters: Invocation of perf-object-counter-list-info failed: netapp.manage.NaAPIFailedException: There is no controller named '76435'. (errno=13001). Aborting.

The Controller that ask for, does not exist.

What is the reason why the Performance Counters will not be shown ?

Greetings

Sven

Nachricht wurde geändert durch: Sven Kirsten also I see these error messages in the BKUP_knuagent_xxxx.log : (501F7682.0000-890:cps_socket.cpp,1377,"collectData") Requested attribute group 'Aggregates' does not exist (501F7682.0001-890:cps_socket.cpp,1377,"collectData") Requested attribute group 'Volumes' does not exist (501F7682.0002-890:cps_socket.cpp,1377,"collectData") Requested attribute group 'Hosts' does not exist

ematthew
6,964 Views

Looks like there is a bug in the Python bindings in 5.1.  I was adding iteration support to a Nagios plugin I wrote and came across a strange behavior.  When adding the tag parameter to 'volume-get-iter' the api would fail with the reason of 'Extra content at the end of the document'.  Comparing the XML to the vollist.pl example I noticed the contents of the <tag> parameter were not escaped into HTML entities:

Python XML:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE netapp SYSTEM 'file:/etc/netapp_filer.dtd'><netapp version="1.15" xmlns="http://www.netapp.com/filer/admin"><volume-get-iter><tag><volume-get-iter-key-td>

        <key-0>vs1</key-0>

        <key-1>test_vol_7</key-1>

</volume-get-iter-key-td></volume-get-iter></netapp>

Perl XML:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE netapp SYSTEM 'file:/etc/netapp_filer.dtd'><netapp version="1.15" xmlns="http://www.netapp.com/filer/admin"><volume-get-iter><tag>&lt;volume-get-iter-key-td&gt;

         &lt;key-0&gt;vs1&lt;/key-0&gt;

         &lt;key-1&gt;test_vol_7&lt;/key-1&gt;

&lt;/volume-get-iter-key-td&gt;

</tag></volume-get-iter></netapp>

The sample script:

#!/usr/bin/python -tt

import cgi

import sys

sys.path.append("../../../../../lib/python/NetApp")

from NaServer import *

username = 'admin'

password = 'xxxxx'

cluster = 'xxxxx'

server = NaServer(cluster, 1, 15)

server.set_admin_user(username, password)

query = NaElement('volume-get-iter')

result = server.invoke_elem(query)

if result.results_errno() > 0:

        raise Exception(result.results_reason())

tag = result.child_get_string('next-tag')

# uncomment next line to make this work

# tag = cgi.escape(tag)

query.child_add_string('tag', tag)

result = server.invoke_elem(query)

if result.results_errno() > 0:

        raise Exception(result.results_reason())

sens
6,964 Views

This is indeed a bug in Python NMSDK. This will occur for *-iter kind of APIs (in Clustered ONTAP) which return a tag/next-tag.

We are working on a fix for this issue, and we are working on to provide the fix as early as possible.

BLACKBIRD2
6,494 Views

Who do I contact to get the FPolicy SDK to develop an external fpolicy server now that it has been separated from the main SDK?

kunalm
6,494 Views

Please contact Nagesh at <Sharyathi.Nagesh@netapp.com>

-Kunal

Darkstar
6,495 Views

Is it still so that you cannot get access to the FPolicy SDK easily? I remember I had to jump through hoops and still didn't get it (i.e. I had to provide estimates on how much money we would be making off products developed with the SDK, why we can't just use the normal Manage OnTap SDK, and the like)

If the process is now easier I might try my luck again in getting it

-Michael

scheckel
6,494 Views

Hi,

cDOT API 1.20 for 8.2

qtree create and delete need to specify /vol/

aswell on delete file.

Would be better as it on the CLI without.

-volume

-qtreename

-vserver

Best wishes,

Markus.

gpablo
6,494 Views

Hi,

I was testing the 'net-port-get-iter' with Cluster Data ONTAP 8.2. The element definition of the 'net-port-info' shows 'port' as a string type, but really the port name in cDOT must  be named using the syntax "a/e<number><letter>", where <number> is an integer in the range [0-999] without leading zeros and <letter> is a lowercase letter. 'e' is used for ethernet ports and 'a' for ifgrps.

So it has to be checked in the apps/scripts instead of do it the API. Maybe in the next version...

Thanks & best regards,

Pablo

aashray
6,494 Views

Thanks so much for that input Pablo, We will try to include it, or document it better, in the next version.

Best Regards

Aashray

lines_tim
5,376 Views

Is there any documentation for installing the Managability SDK under Windows?

 

When I try to run ZEDI I just get:

"ReferenceError: "importPackage" is not defined in <eval> at line number 2

 

Searching the forums, this question has been asked a couple times but no one's answered it.

Storage001
5,340 Views

I encountered this message today too. In my testing so far that error message doesn't seem to affect the tool in any way. I'm able to generate and deploy code without issue.

Public