APIs in Category: software
API version 1.6

 
software-async-cancel
software-async-status
software-async-transfer-package
software-async-update
software-delete-package
software-extract-metadata
software-list-package
NetApp Package Manager (NPM) ZAPI handlers provide support for remote management of Filer software.

Since the NPM ZAPI (NZ) operations software-async-transfer-package and software-async-update take longer than usual to complete, they are performed asynchronously. With an asynchronous operation, the first non-blocking call initiates the operation, and returns with a job ID. When the operation completes, the status is available, with the job ID, for retrieval. The call software-async-status is used to retrieve status of asynchronous jobs, while software-async-cancel is used to stop asynchronous jobs that have been started.

Only one invocation of an asynchronous operation can be pending at any time. When the operation is running, all other invocations of the same operation are blocked with the error code of EAGAIN indicating this.

When making a new call, EBUSY is returned when the operation cannot be started because of pending operations.

When a previously started asynchronous operation completes, status is available until another asynchronous operation is started.

There are no restrictions on the invocation of synchronous operations: they can be invoked multiple number of times simultaneously, and can run in parallel with other operations. The only exception is software-extract-metadata: only one can run at a time; all other calls are blocked until the operation completes.

Every NPM software package contains metadata, a collection of information, that describes the package. This is used by NPM software on the Filer to validate a software upgrade.
metadata
list of meta elements in name-value pairs
meta element
each name-value pair
meta item
entity represented by a meta element
meta name
name of meta element in string form
meta value
one or more values of a single meta item in string form;
when multiple values are present in the same meta item, all values are present in the same string, with each value unambiguously separated from the other by a single punctuation mark.

NetApp Manage ONTAP
 
software-async-cancel [top]

Cancels the last asynchronous operation initiated. Only one asynchronous NPM ZAPI operation can be pending at any time. When no operation is pending, an error code of ENOASYNCOP is returned.
 Errno  Description
 ENOASYNCOP
 EINTERNALERROR

 
software-async-status [top]
Gets the status of the last job started. Only one NPM ZAPI job can be pending at any time. When no job is pending, "async-op-name" = "none" is returned. Every call returns the state of the operation and the percentage of completion. When the operation is complete, the error code from the operation is returned. Operation completion status is persistent and remains until a new asynchronous operation is started.
Output Name Range Type Description
async-op-error-code integer
optional
Error code from asynchronous operation after completion. software-async-transfer-package EPKGNOTFOUND EVOLUMEFULL software-async-update EPKGNOMETADATA EPKGNOTCOMPATIBLE
async-op-name string
Name of the current running asynchronous operation one of none software-async-transfer-package software-extract-metadata software-async-update
async-op-percent-done integer
optional
Percentage of the asynchronous operation completed
 Errno  Description
 EONTAPI_EBUSY
 EINTERNALERROR

 
software-async-transfer-package [top]
Get a software package from a remote HTTP server and store it in /etc/software on the Filer. The package can subsequently be used for software updates. An optional destination filename can also be specified. If the destination filename is not specified, the filename from the URL is used. Since this operation takes an extended amount of time, it is performed asynchronously.
Input Name Range Type Description
destination-file-name string
optional
Optional destination file name. if not used, the filename from the URL is used.
http-url string
HTTP URL of the software package to be downloaded
 Errno  Description
 ENPMNOPKG
 EONTAPI_EAGAIN
 EONTAPI_EBUSY
 EINTERNALERROR

 
software-async-update [top]
Unpack and install a software package. After installation, the Filer is rebooted. This automatic reboot can be disabled. Since this operation takes an extended amount of time, it is performed asynchronously.
Input Name Range Type Description
install boolean
optional
If absent or "true", installation is done after unpacking; if "false", only unpacking is done.
package-name string
Name of the software package to be used for the update
reboot boolean
optional
used only if installation is done; If absent or "false", no reboot is done after installation; if "true", Filer is rebooted after installation.
 Errno  Description
 ENPMNOPKG
 EONTAPI_EAGAIN
 EONTAPI_EBUSY
 EINTERNALERROR

 
software-delete-package [top]
Delete specific software package from the Filer's package repository (/etc/software). This operation is not synchronous.
Input Name Range Type Description
package-name string
Name of software package
 Errno  Description
 ENPMNOPKG
 EONTAPI_EAGAIN
 EONTAPI_EBUSY
 EINTERNALERROR

 
software-extract-metadata [top]
Retrieve metadata from the kernel image in the Compact Flash (CF), or from a specific package.

Older packages do not have metadata. If metadata is not found, an error code of ENPMNOMETA is returned.

There are two types of software packages: ONTAP and Service. Metadata content depends on package type.
Common section meta items are present in all packages.
Package type
Meta name : PKG_TYPE
Possible values : DataOntap, Service
Date and Timestamp
Meta name : PKG_DTS
Possible value : Day Mmm dd hh:mm:ss yyyy GMT
CPU architecture
Meta name : CPU_ARCH
Possible values : pc, mips
ONTAP section meta items are only in ONTAP packages.
Data ONTAP release
Meta name : ONTAP_RLS
Possible value : NetApp Release version: date & time stamp
File system version
Meta name : FILESYS_VER
Possible value : integer
NVLOG version
Meta name : NVLOG_VER
Possible value : integer
Diagnostics section meta items are only in Service packages.
Diagnostics version
Meta name : DIAG_VER
Possible value : Diagnostic Monitor v-version
Diagnostics release
Meta name : DIAG_RLS
Possible value : NetApp Release Diagnostic_version: date stamp
Firmware items are only in Service packages and are of two types, Common Firmware Environment (CFE) and Open Firmware (OFW).
CFE version
Meta name : CFE_VER
Possible value : CFE-p.q.r
OFW version
Meta name : OFW_VER
Possible value : m.n
Input Name Range Type Description
package-location string
Location of the package to be scanned for metadata
Possible values:
repository
package directory on Filer disk
cf-pri-part
Compact Flash primary partition
package-name string
optional
Name of the software package; used only if package-location is repository
 
Output Name Range Type Description
npm-metadata npm-meta-elem-info[]
List of meta elements containing requested metadata
 Errno  Description
 EAPIMISSINGARGUMENT
 ENPMINVPLOC
 ENPMERXMETA
 ENPMNOMETA
 EONTAPI_EAGAIN
 EONTAPI_EBUSY
 EINTERNALERROR
 EAPINOTIMPLEMENTED

 
software-list-package [top]
List the software packages available on the Filer. The files in /etc/software/ are listed. An empty list is returned if no packages are present.
Output Name Range Type Description
software-package-list string
List of software packages available on the Filer
 Errno  Description
 ENPMNOPKG
 EONTAPI_EAGAIN
 EONTAPI_EBUSY
 EINTERNALERROR

 
Element definition: npm-meta-elem-info [top]
Single metadata element with metadata information
Name Range Type Description
npm-meta-name string
Name of metdata element
npm-meta-value string
One or more values for the meta element in one string