Software Development Kit (SDK) and API Discussions

ONTAP 8.02 API

julioweber
4,179 Views

Hi guys,

I'm unable to find the documentation for the ONTAP 8.02 API version, please let me know where I can download it.

Already raised a ticket support and the Support Engineer point me to the forum.

As we were developing against an 8.01 simulator, and now we got one 8.02 physical filer in our production environment. I would like to know what have being changed. (I understand some of the commands are not available through the VFiler context anymore)

These are the commands we used previously in the VFiler context:

quota-set-entry

quota-list-entries

quota-delete-entry

quota-get-entry

quota-on

quota-status

quota-resize

volume-rename

volume-size

volume-create

volume-offline

volume-destroy

priority-set-volume

snapshot-set-schedule

snapshot-delete

snapshot-set-reserve

snapshot-list-info

snapshot-autodelete-set-option

cifs-share-add

cifs-share-delete

lun-offline

lun-create-by-size

lun-online

lun-map

lun-unmap

lun-destroy

Regards,

Julio Weber.

5 REPLIES 5

kunalm
4,179 Views

Julio

8.0.2 API documentation will be available in 2 weeks time from now with next NMSDK release.

All the above listed APIs should work in 8.0.2 with the same API documentation of 8.0.1 that you can find in NMSDK 4.1

-Kunal

julioweber
4,179 Views

Hi Kunal,

thanks for the quick answer... appreciated

Just to clarify a bit better.

We are getting some issues running the “volume-size” API command.

We have two different environments –

  1. Dev – 8.0.1 data ontap Simulator
  2. Prod – 8.0.2 data ontap

When running the command through the API (version 1.7) into our dev environment, it works fine... But when sending the same command to our prod environment we get the following error “Operation not permitted from vfiler context”.

Which based in the API documentation should be fine:

volume-size

[top]

Given the name of a flexible volume, either return its current size or set the volume's size to the stated amount.

Input Name

Range

Type

Description

new-size

string
optional

Specify the flexible volume's new size using the following format: [+|-]< number > k|m|g|t] If a leading '+' or '-' appears, it indicates that the given flexible volume's size is to be increased or decreased (respectively) by the indicated amount, else the amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then < number > is interpreted as the number of kilobytes desired. The file system size of a readonly replica flexible volume, such as a snapmirror destination, is determined from the replica source. In such cases, the value set using "volume-size" is interpreted as an upper limit on the size. A flexible volume that's not a readonly replica which has the "fs_size_fixed" option set may have its size displayed, but not changed. Attempting to set the volume size in this case will result in failure and a EINTERNALERROR error code. Users must be able to adjust readonly replica flexible volume size in order to maintain enough capacity to accommodate transfers from the replica source. Attempting to set a readonly replica destination size to be less than that of its source will result in a failure indicated by the EONTAPI_ENOSPC error code.

volume

string

The name of the flexible volume for which we want to get or set its size.

Output Name

Range

Type

Description

is-fixed-size-flex-volume

boolean
optional

Is the flexible volume filesystem size fixed?

is-readonly-flex-volume

boolean
optional

Is this flexible volume read only?

is-replica-flex-volume

boolean
optional

Is this flexible volume a replica volume?

volume-size

string

Either the size we found the given volume to be or the size to which the volume was set (if we're setting its size via the 'new-size' argument above).

Errno

Description

EINTERNALERROR

EONTAPI_ENOSPC

Vfiler-enabled

Yes

As the command is vfiler-enabled.

I would like to understand if this is the only command that has being changed, or the ones I listed has also changed.

Thanks,

Julio Weber.

julioweber
4,179 Views

Anyone can help with the issue?

We really need to get this working.

Thanks,

Julio Weber.

amirm
4,179 Views

Hi Julio,

This seems to be ZAPI DOC bug. The volume-size API can only have "volume" as the input argument in the vFiler context. You can only get the existing size of the volume but cannot set/resize it from vFiler context.

This functionality has been changed from 8.0.2. Will be filing a new bug against ZAPI doc description to explicitely mention that in vFiler context size of volume can not be changed. However this API will be vFiler enabled only for getting the size of volume.

Also volume-create API is NO more vFiler context enabled.

Regards,

-Amir

julioweber
4,179 Views

Hi Amir,

thanks for the reply.

Based in your answer, I assume the way to resize a volume now is sending the volume-size API call outside the vFiler context... Am I correct?

The other part I'm struggling with is, I need to know all the changes for the  if any more change has been made to the commands I listed above. As you explained volume-create API is NO more vFiler context enabled, do we have any other change?

Regards,

Julio Weber.

Public