From Antelope cycle, NetApp driver has the option to request ONTAP operations
through REST API. By default, the driver keeps working as before using ZAPI
communication. If desired, the REST communication can be selected. Share group
snapshots and the operations in Native REST operations have REST
implementations on supported ONTAP versions. A method that is not implemented
still falls back to ZAPI unless netapp_zapi_fallback_enabled is set to
False.
Important
When netapp_zapi_fallback_enabled remains at its default of True,
the REST client still uses ZAPI for operations that do not yet have a REST
implementation. The ONTAP administrative user account must be allowed to
run the ONTAPI application in that case. Set
netapp_zapi_fallback_enabled = False only after confirming that the
operations you use are implemented in REST. With the fallback disabled,
an unimplemented call fails instead of using ZAPI.
Important
The driver can only be configured with REST communication with ONTAP storage 9.12.1 or newer.
Caution
Enabling ONTAP REST client changes the behavior of QoS specs. Earlier, QoS values could be represented in BPS (bytes per second), but now REST client only supports integer values represented in MBPS (Megabytes per second). It means that though the operators specify the QoS value in BPS, it will be converted to MBPS and rounded up. It only affects new shares.
Caution
If running with REST mode, the extra spec configuration
netapp:udp_max_xfer_size is not applied.
When the REST client is active, REST implementations exist for the operations below. Presence of an implementation is not validation that every path has been exercised on REST:
Checking whether SVM disaster recovery and SVM migrate are supported.
Looking up data LIF details for nodes.
Reading volume autosize attributes.
Listing SVMs.
Configuring CIFS options, including the default Active Directory site.
Checking whether Kerberos is enabled on LIFs.
Resetting volume autosize as part of a volume modify.
Volume autosize reset uses the public REST volume endpoint on supported ONTAP
versions. On older versions it uses the private CLI endpoint
/private/cli/volume. Listing root aggregates during pool listing uses
GET /api/private/cli/aggr. A cluster-scoped role needs
storage aggregate readonly for that call. See Account Permission Considerations.
To enable REST client for the NetApp ONTAP driver, the following options should
be added to the appropriate NetApp stanza in the Manila configuration file
(manila.conf).
[myONTAPBackend]
netapp_use_legacy_client = False
netapp_zapi_fallback_enabled = True
netapp_zapi_fallback_enabled defaults to True. Leave it at True to
keep the previous fallback behavior. Set it to False when the backend must
not call ZAPI for a method that the REST client does not implement.
Note
Operations running with REST client may take some time to be finished. The
option netapp_rest_operation_timeout configures the time to wait for the
completion. Default is 60 seconds.
This document is licensed under Apache 2.0 license.