From a93463247db6b1dcce40bbd4f0a174940279a984 Mon Sep 17 00:00:00 2001 From: Bob Callaway Date: Tue, 25 Feb 2014 08:48:18 -0500 Subject: [PATCH] Add docs for NetApp E-Series Cinder driver This change adds the documentation for the NetApp E-Series Cinder driver, including details on the configuration options that were added to cinder.conf. Change-Id: Ic3e36970d894cf102831b72e78ed78490729322e Implements: blueprint netapp-eseries--cinder-driver --- doc/common/tables/cinder-netapp_cdot_nfs.xml | 4 +- .../tables/cinder-netapp_eseries_iscsi.xml | 63 ++++++ .../drivers/netapp-volume-driver.xml | 190 ++++++++++++------ .../cinder.flagmappings | 18 +- 4 files changed, 205 insertions(+), 70 deletions(-) create mode 100644 doc/common/tables/cinder-netapp_eseries_iscsi.xml diff --git a/doc/common/tables/cinder-netapp_cdot_nfs.xml b/doc/common/tables/cinder-netapp_cdot_nfs.xml index cd1add9f2f..6916e2ceea 100644 --- a/doc/common/tables/cinder-netapp_cdot_nfs.xml +++ b/doc/common/tables/cinder-netapp_cdot_nfs.xml @@ -23,8 +23,8 @@ (IntOpt) This option specifies the threshold for last access time for images in the NFS image cache. When a cache cleaning cycle begins, images in the cache that have not been accessed in the last M minutes, where M is the value of this parameter, will be deleted from the cache to create free space on the NFS share. - netapp_copyoffload_tool = None - (StrOpt) This option specifies the path of the NetApp Copy Offload tool binary. Ensure that the binary has execute permissions set which allow the effective user of the cinder-volume process to execute the file. + netapp_copyoffload_tool_path = None + (StrOpt) This option specifies the path of the NetApp copy offload tool binary. Ensure that the binary has execute permissions set which allow the effective user of the cinder-volume process to execute the file. netapp_login = None diff --git a/doc/common/tables/cinder-netapp_eseries_iscsi.xml b/doc/common/tables/cinder-netapp_eseries_iscsi.xml new file mode 100644 index 0000000000..a5dee17f70 --- /dev/null +++ b/doc/common/tables/cinder-netapp_eseries_iscsi.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Description of configuration options for netapp_eseries_iscsi
Configuration option = Default valueDescription
[DEFAULT]
netapp_controller_ips = None(StrOpt) This option is only utilized when the storage family is configured to eseries. This option is used to restrict provisioning to the specified controllers. Specify the value of this option to be a comma separated list of controller hostnames or IP addresses to be used for provisioning.
netapp_login = None(StrOpt) Administrative user account name used to access the storage system or proxy server.
netapp_password = None(StrOpt) Password for the administrative user account specified in the netapp_login option.
netapp_sa_password = None(StrOpt) Password for the NetApp E-Series storage array.
netapp_server_hostname = None(StrOpt) The hostname (or IP address) for the storage system or proxy server.
netapp_server_port = 80(IntOpt) The TCP port to use for communication with the storage system or proxy server. Traditionally, port 80 is used for HTTP and port 443 is used for HTTPS; however, this value should be changed if an alternate port has been configured on the storage system or proxy server.
netapp_storage_family = ontap_cluster(StrOpt) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series.
netapp_storage_pools = None(StrOpt) This option is used to restrict provisioning to the specified storage pools. Only dynamic disk pools are currently supported. Specify the value of this option to be a comma separated list of disk pool names to be used for provisioning.
netapp_transport_type = http(StrOpt) The transport protocol used when communicating with the storage system or proxy server. Valid values are http or https.
netapp_webservice_path = /devmgr/v2(StrOpt) This option is used to specify the path to the E-Series proxy application on a proxy server. The value is combined with the value of the netapp_transport_type, netapp_server_hostname, and netapp_server_port options to create the URL used by the driver to connect to the proxy application.
+
diff --git a/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml b/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml index 3298d064c8..7fc705e4d1 100644 --- a/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml +++ b/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml @@ -3,14 +3,14 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> NetApp unified driver - The NetAppĀ® unified driver is a block storage driver that + The NetApp unified driver is a block storage driver that supports multiple storage families and protocols. A storage family corresponds to storage systems built on different - NetApp technologies such as clustered Data ONTAPĀ® and Data - ONTAP operating in 7-Mode. The storage protocol refers to the - protocol used to initiate data storage and access operations - on those storage systems like iSCSI and NFS. The NetApp - unified driver can be configured to provision and manage + NetApp technologies such as clustered Data ONTAP, Data ONTAP + operating in 7-Mode, and E-Series. The storage protocol refers + to the protocol used to initiate data storage and access + operations on those storage systems like iSCSI and NFS. The + NetApp unified driver can be configured to provision and manage OpenStack volumes on a given storage family using a specified storage protocol. The OpenStack volumes can then be used for accessing and storing data using the storage protocol on the @@ -22,7 +22,7 @@ The NetApp clustered Data ONTAP storage family represents a configuration group which provides OpenStack compute instances access to clustered Data ONTAP storage - systems. At present it can be configured in Cinder to work + systems. At present it can be configured in OpenStack Block Storage to work with iSCSI and NFS storage protocols.
NetApp iSCSI configuration for clustered Data @@ -33,7 +33,7 @@ the SAN block storage entity; that is, a NetApp LUN which can be accessed using the iSCSI protocol.</para> <para>The iSCSI configuration for clustered Data ONTAP is - a direct interface from Cinder to the clustered Data + a direct interface from OpenStack Block Storage to the clustered Data ONTAP instance and as such does not require additional management software to achieve the desired functionality. It uses NetApp APIs to interact with @@ -44,24 +44,24 @@ <para>Configure the volume driver, storage family and storage protocol to the NetApp unified driver, clustered Data ONTAP, and iSCSI respectively by - setting the <literal>volume_driver</literal>, - <literal>netapp_storage_family</literal> and - <literal>netapp_storage_protocol</literal> + setting the <option>volume_driver</option>, + <option>netapp_storage_family</option> and + <option>netapp_storage_protocol</option> options in <filename>cinder.conf</filename> as follows:</para> <programlisting language="ini"> volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family=ontap_cluster netapp_storage_protocol=iscsi - netapp_vserver=openstack-vserver - netapp_server_hostname=myhostname - netapp_server_port=80 - netapp_login=username - netapp_password=password + netapp_vserver=<replaceable>openstack-vserver</replaceable> + netapp_server_hostname=<replaceable>myhostname</replaceable> + netapp_server_port=<replaceable>80</replaceable> + netapp_login=<replaceable>username</replaceable> + netapp_password=<replaceable>password</replaceable> </programlisting> <note> <para>You must override the default value of - <literal>netapp_storage_protocol</literal> + <option>netapp_storage_protocol</option> with <literal>iscsi</literal> in order to utilize the iSCSI protocol.</para> </note> @@ -69,13 +69,13 @@ href="../../../common/tables/cinder-netapp_cdot_iscsi.xml"/> <note> <para>If you specify an account in the - <literal>netapp_login</literal> that only + <option>netapp_login</option> that only has virtual storage server (Vserver) administration privileges (rather than cluster-wide administration privileges), some advanced features of the NetApp unified driver will not work and you may see warnings in the - Cinder logs.</para> + OpenStack Block Storage logs.</para> </note> <tip> <para>For more information on these options and @@ -97,7 +97,7 @@ clustered Data ONTAP system that are accessed using the NFS protocol.</para> <para>The NFS configuration for clustered Data ONTAP is a - direct interface from Cinder to the clustered Data + direct interface from OpenStack Block Storage to the clustered Data ONTAP instance and as such does not require any additional management software to achieve the desired functionality. It uses NetApp APIs to interact with @@ -108,32 +108,32 @@ <para>Configure the volume driver, storage family and storage protocol to NetApp unified driver, clustered Data ONTAP, and NFS respectively by - setting the <literal>volume_driver</literal>, - <literal>netapp_storage_family</literal> and - <literal>netapp_storage_protocol</literal> + setting the <option>volume_driver</option>, + <option>netapp_storage_family</option> and + <option>netapp_storage_protocol</option> options in <filename>cinder.conf</filename> as follows:</para> <programlisting language="ini"> volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family=ontap_cluster netapp_storage_protocol=nfs - netapp_vserver=openstack-vserver - netapp_server_hostname=myhostname - netapp_server_port=80 - netapp_login=username - netapp_password=password + netapp_vserver=<replaceable>openstack-vserver</replaceable> + netapp_server_hostname=<replaceable>myhostname</replaceable> + netapp_server_port=<replaceable>80</replaceable> + netapp_login=<replaceable>username</replaceable> + netapp_password=<replaceable>password</replaceable> </programlisting> <xi:include href="../../../common/tables/cinder-netapp_cdot_nfs.xml"/> <note> <para>If you specify an account in the - <literal>netapp_login</literal> that only + <option>netapp_login</option> that only has virtual storage server (Vserver) administration privileges (rather than cluster-wide administration privileges), some advanced features of the NetApp unified driver will not work and you may see warnings in the - Cinder logs.</para> + OpenStack Block Storage logs.</para> </note> </simplesect> <simplesect> @@ -167,23 +167,23 @@ <para>In order to use this feature, the Image Service must be configured as follows:</para> <itemizedlist> <listitem> - <para>The <literal>default_store</literal> configuration option should be set to + <para>The <option>default_store</option> configuration option should be set to <literal>file</literal></para> </listitem> <listitem> - <para>The <literal>filesystem_store_datadir</literal> configuration option should be set to + <para>The <option>filesystem_store_datadir</option> configuration option should be set to the path to the the Image Service NFS export</para> </listitem> <listitem> - <para>The <literal>show_image_direct_url</literal> configuration option should be set to + <para>The <option>show_image_direct_url</option> configuration option should be set to <literal>True</literal></para> </listitem> <listitem> - <para>The <literal>show_multiple_locations</literal> configuration option should be set to + <para>The <option>show_multiple_locations</option> configuration option should be set to <literal>True</literal></para> </listitem> <listitem> - <para>The <literal>filesystem_store_metadata_file</literal> configuration option + <para>The <option>filesystem_store_metadata_file</option> configuration option should refer to a metadata file. The metadata file should contain a JSON object that contains the correct information about the NFS export used by the Image Service, similar to:</para> @@ -199,11 +199,11 @@ <para>In order to use this feature, the Block Storage Service must be configured as follows:</para> <itemizedlist> <listitem> - <para>The <literal>netapp_copyoffload_tool</literal> configuration option should be set to + <para>The <option>netapp_copyoffload_tool_path</option> configuration option should be set to the path to the NetApp Copy Offload binary</para> </listitem> <listitem> - <para>The <literal>glance_api_version</literal> configuration option should be set to + <para>The <option>glance_api_version</option> configuration option should be set to <literal>2</literal></para> </listitem> </itemizedlist> @@ -227,7 +227,7 @@ </important> <tip> <para>To download the NetApp copy offload binary to be utilized - in conjunction with the <literal>netapp_copyoffload_tool_path</literal> + in conjunction with the <option>netapp_copyoffload_tool_path</option> configuration option, please visit the Downloads section of the <link xlink:href="http://support.netapp.com/">NetApp support site</link>.</para> @@ -248,18 +248,18 @@ determines which volume node should fulfill a volume provisioning request. When you use the NetApp unified driver with a clustered Data ONTAP storage system, you - can leverage extra specs with Cinder volume types to - ensure that Cinder volumes are created on storage back + can leverage extra specs with OpenStack Block Storage volume types to + ensure that OpenStack Block Storage volumes are created on storage back ends that have certain properties. For example, when you configure QoS, mirroring, or compression for a storage back end.</para> - <para>Extra specs are associated with Cinder volume types, + <para>Extra specs are associated with OpenStack Block Storage volume types, so that when users request volumes of a particular volume type, the volumes are created on storage back ends that meet the list of requirements. For example, the back ends have the available space or extra specs. You can use the specs in the following table when you - define Cinder volume types by using the + define OpenStack Block Storage volume types by using the <command>cinder type-key</command> command.</para> <xi:include href="../../../common/tables/cinder-netapp_cdot_extraspecs.xml"/> @@ -268,7 +268,7 @@ specs to <literal>True</literal> when combining multiple specs to enforce a certain logic set. If you desire to remove volumes with a certain - feature enabled from consideration from the Cinder + feature enabled from consideration from the OpenStack Block Storage volume scheduler, be sure to use the negated spec name with a value of <literal>True</literal> rather than setting the positive spec to a value @@ -282,7 +282,7 @@ <para>The NetApp Data ONTAP operating in 7-Mode storage family represents a configuration group which provides OpenStack compute instances access to 7-Mode storage systems. At - present it can be configured in Cinder to work with iSCSI + present it can be configured in OpenStack Block Storage to work with iSCSI and NFS storage protocols.</para> <section xml:id="ontap-7mode-iscsi"> <title>NetApp iSCSI configuration for Data ONTAP operating @@ -308,23 +308,23 @@ storage protocol to the NetApp unified driver, Data ONTAP operating in 7-Mode, and iSCSI respectively by setting the - <literal>volume_driver</literal>, - <literal>netapp_storage_family</literal> and - <literal>netapp_storage_protocol</literal> + <option>volume_driver</option>, + <option>netapp_storage_family</option> and + <option>netapp_storage_protocol</option> options in <filename>cinder.conf</filename> as follows:</para> <programlisting language="ini"> volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family=ontap_7mode netapp_storage_protocol=iscsi - netapp_server_hostname=myhostname - netapp_server_port=80 - netapp_login=username - netapp_password=password + netapp_server_hostname=<replaceable>myhostname</replaceable> + netapp_server_port=<replaceable>80</replaceable> + netapp_login=<replaceable>username</replaceable> + netapp_password=<replaceable>password</replaceable> </programlisting> <note> <para>You must override the default value of - <literal>netapp_storage_protocol</literal> + <option>netapp_storage_protocol</option> with <literal>iscsi</literal> in order to utilize the iSCSI protocol.</para> </note> @@ -350,7 +350,7 @@ storage system which can then be accessed using NFS protocol.</para> <para>The NFS configuration for Data ONTAP operating in - 7-Mode is a direct interface from Cinder to the Data + 7-Mode is a direct interface from OpenStack Block Storage to the Data ONTAP operating in 7-Mode instance and as such does not require any additional management software to achieve the desired functionality. It uses NetApp @@ -364,19 +364,19 @@ storage protocol to the NetApp unified driver, Data ONTAP operating in 7-Mode, and NFS respectively by setting the - <literal>volume_driver</literal>, - <literal>netapp_storage_family</literal> and - <literal>netapp_storage_protocol</literal> + <option>volume_driver</option>, + <option>netapp_storage_family</option> and + <option>netapp_storage_protocol</option> options in <filename>cinder.conf</filename> as follows:</para> <programlisting language="ini"> volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family=ontap_7mode netapp_storage_protocol=nfs - netapp_server_hostname=myhostname - netapp_server_port=80 - netapp_login=username - netapp_password=password + netapp_server_hostname=<replaceable>myhostname</replaceable> + netapp_server_port=<replaceable>80</replaceable> + netapp_login=<replaceable>username</replaceable> + netapp_password=<replaceable>password</replaceable> </programlisting> <xi:include href="../../../common/tables/cinder-netapp_7mode_nfs.xml"/> @@ -390,6 +390,74 @@ </simplesect> </section> </section> + <section xml:id="eseries-family"> + <title>NetApp E-Series storage family + The NetApp E-Series storage family represents a + configuration group which provides OpenStack + compute instances access to E-Series storage systems. + At present it can be configured in OpenStack Block Storage to work + with the iSCSI storage protocol. +
+ NetApp iSCSI configuration for E-Series + The NetApp iSCSI configuration for E-Series + is an interface from OpenStack to E-Series storage + systems for provisioning and managing the SAN block + storage entity; that is, a NetApp LUN which can be + accessed using the iSCSI protocol. + The iSCSI configuration for E-Series is an interface + from OpenStack Block Storage to the E-Series proxy instance and as such + requires the deployment of the proxy instance in order to + achieve the desired functionality. The driver uses REST + APIs to interact with the E-Series proxy instance, which in + turn interacts directly with the E-Series controllers. + + Configuration options for E-Series storage + family with iSCSI protocol + Configure the volume driver, storage family and + storage protocol to the NetApp unified driver, + E-Series, and iSCSI respectively by setting the + , + and + + options in cinder.conf as + follows: + + volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver + netapp_storage_family=eseries + netapp_storage_protocol=iscsi + netapp_server_hostname=myhostname + netapp_server_port=80 + netapp_login=username + netapp_password=password + netapp_controller_ips=1.2.3.4,5.6.7.8 + netapp_sa_password=arrayPassword + netapp_storage_pools=pool1,pool2 + + + You must override the default value of + + with eseries in order to + utilize the E-Series driver. + + + You must override the default value of + + with iscsi in order to + utilize the iSCSI protocol. + + + + For more information on these options and + other deployment and operational scenarios, + visit the OpenStack NetApp + community. + + +
+
Upgrading prior NetApp drivers to the NetApp unified driver @@ -402,7 +470,7 @@ deprecated NetApp drivers.
Upgraded NetApp drivers - This section describes how to update Cinder + This section describes how to update OpenStack Block Storage configuration from a pre-Havana release to the new unified driver format. diff --git a/tools/autogenerate-config-flagmappings/cinder.flagmappings b/tools/autogenerate-config-flagmappings/cinder.flagmappings index 9131d125ea..2a53e9935b 100644 --- a/tools/autogenerate-config-flagmappings/cinder.flagmappings +++ b/tools/autogenerate-config-flagmappings/cinder.flagmappings @@ -149,18 +149,22 @@ nas_login nas nas_password nas nas_private_key nas nas_ssh_port nas -netapp_copyoffload_tool netapp_cdot_nfs -netapp_login netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs -netapp_password netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs -netapp_server_hostname netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs -netapp_server_port netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs +netapp_controller_ips netapp_eseries_iscsi +netapp_copyoffload_tool_path netapp_cdot_nfs +netapp_login netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs netapp_eseries_iscsi +netapp_password netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs netapp_eseries_iscsi +netapp_sa_password netapp_eseries_iscsi +netapp_server_hostname netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs netapp_eseries_iscsi +netapp_server_port netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs netapp_eseries_iscsi netapp_size_multiplier netapp_7mode_iscsi netapp_cdot_iscsi -netapp_storage_family netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs +netapp_storage_family netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs netapp_eseries_iscsi +netapp_storage_pools netapp_eseries_iscsi netapp_storage_protocol netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs -netapp_transport_type netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs +netapp_transport_type netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi netapp_cdot_nfs netapp_eseries_iscsi netapp_vfiler netapp_7mode_iscsi netapp_volume_list netapp_7mode_iscsi netapp_vserver netapp_cdot_iscsi netapp_cdot_nfs +netapp_webservice_path netapp_eseries_iscsi nexenta_blocksize nexenta_iscsi nexenta_host nexenta_iscsi nexenta_iscsi_target_portal_port nexenta_iscsi