NetApp Unified Driver for ONTAP with Share Server management

NetApp Unified Driver for ONTAP with Share Server management

Overview

The NetApp unified driver for ONTAP with share server management is a driver interface from OpenStack Manila to NetApp ONTAP storage controllers to accomplish provisioning and management of shared file systems across the scope of the entire cluster. This driver will create a new storage virtual machine (SVM) for each share server that is requested by the Manila service. This driver also creates new data logical interfaces (LIFs) that provide access for clients on a specific share network to access shared file systems exported from the share server.

Caution

An account with cluster administrator privileges must be used with the netapp_login option when using Share Server management. Share Server management creates SVMs, thus SVM administrator privileges are insufficient.

Setup

To set up the NetApp ONTAP driver with Share Server management, the following stanza should be added to the Manila configuration file (manila.conf):

[cdotMultipleSVM]
share_backend_name=cdotMultipleSVM
share_driver=manila.share.drivers.netapp.common.NetAppDriver
driver_handles_share_servers=True
netapp_storage_family=ontap_cluster
netapp_server_hostname=hostname
netapp_server_port=80
netapp_login=admin_username
netapp_password=admin_password
netapp_transport_type=https
netapp_root_volume_aggregate=aggr1
netapp_aggregate_name_search_pattern=^((?!aggr0).)*$
  • Be sure that the value of the enabled_share_backends option in the [DEFAULT] stanza includes the name of the stanza you chose for the backend.

  • The value of driver_handles_share_servers MUST be set to True if you want the driver to manage share servers.

Table 6.16, “Configuration options for ONTAP with Share Server management” lists the configuration options available for the unified driver for an ONTAP deployment that manages share servers.

Option

Type

Default Value

Description

share_backend_name

Required

The name used by Manila to refer to the Manila backend

share_driver

Required

manila.share.drivers.generic.GenericShareDriver

Set the value to manila.share.drivers.netapp.common.NetAppDriver

driver_handles_share_servers

Required

Denotes whether the driver should handle the responsibility of managing share servers. This must be set to true if the driver is to manage share servers.

netapp_server_hostname

Required

The hostname or IP address for the storage system or proxy server. The value of this option should be the IP address of the cluster management LIF.

netapp_server_port

Optional

The TCP port to use for communication with the storage system or proxy server. If not specified, ONTAP drivers will use 80 for HTTP and 443 for HTTPS.

netapp_login

Required

Administrative user account name used to access the storage system.

netapp_password

Required

Password for the administrative user account specified in the netapp_login option.

netapp_transport_type

Required

http

Transport protocol for communicating with the storage system or proxy server. Valid options include http and https.

netapp_storage_family

Required

ontap_cluster

The storage family type used on the storage system; valid values are ontap_cluster for ONTAP.

netapp_root_volume_aggregate

Required

This option specifies name of the aggregate upon which the root volume should be placed when a new SVM is created to correspond to a Manila share server.

netapp_root_volume_name

Optional

root

This option specifies name of the root volume that will be created when a new SVM is created to correspond to a Manila share server.

netapp_vserver_name_template

Optional

os_%s

This option specifies a string replacement template that is applied when naming SVMs that are created to correspond to a Manila share server.

netapp_lif_name_template

Optional

os_%(net_allocation_id)s

This option specifies a string replacement template that is applied when naming data LIFs that are created as a result of provisioning requests.

netapp_volume_name_template

Optional

share_%(share_id)s

This option specifies a string replacement template that is applied when naming FlexVol volumes that are created as a result of provisioning requests.

netapp_qos_policy_group_name_template

Optional

qos_share_%(share_id)s

This option specifies a string replacement template that is applied when naming QoS policies created for FlexVol volumes created by Manila.

netapp_volume_snapshot_reserve_percent

Optional

5

This option specifies the percentage of share space set aside as reserve for snapshot usage. Valid values range from 0 to 90.

netapp_aggregate_name_search_pattern

Optional

(.*)

This option specifies a regular expression that is applied against all available aggregates. This filtered list will be reported to the Manila scheduler as valid pools for provisioning new shares.

netapp_port_name_search_pattern

Optional

(.*)

This option allows you to specify a regular expression for overriding the selection of network ports on which to create Vserver LIFs.

netapp_enabled_share_protocols

Optional

nfs3,nfs4.0

This option specifies the NFS protocol versions that will be enabled on new SVMs created by the driver. Valid values include nfs3, nfs4.0, nfs4.1.

filter_function

Optional

(see description)

This expression is used by the scheduler as a filter in determining share placement. Using this expression, the scheduler is instructed to NOT place volumes on storage controllers that may become overutilized. The default value is “capabilities.utilization < 70”. Capabilities.utilization refers to ONTAP storage node headroom. See “Manila scheduling and resource pool selection” for more information on filters and weighers.

goodness_function

Optional

(see description)

This expression is used by the scheduler to assign weighting in determining share placement. Using this expression, the scheduler places shares on lesser-utilized storage controllers. The default value is “100 - capabilities.utilization”. Capabilities.utilization refers to ONTAP storage node headroom. See “Manila scheduling and resource pool selection” for more information on filters and weighers.

netapp_trace_flags

Optional

This option is a comma-separated list of options (valid values include method and api) that controls which trace info is written to the Manila logs when the debug level is set to True.

netapp_api_trace_pattern

Optional

(.+)

A regular expression to limit the API tracing. This option is honored only if enabling api tracing with the netapp_trace_flags option. By default, all APIs will be traced.

migration_driver_continue_interval

Optional

60

This option specifies the time interval in seconds at which Manila polls the backend for the progress and health of an ongoing migration.

Table 6.16. Configuration options for ONTAP with Share Server management