From 92611dea22f85ddd2960f77c720f453febd16ec1 Mon Sep 17 00:00:00 2001 From: Bob Callaway Date: Tue, 25 Feb 2014 09:04:11 -0500 Subject: [PATCH] Add docs for NetApp copy offload tool in Cinder This change documents the addition of the NetApp copy offload tool into the NetApp unified driver within Cinder. An additional Cinder configuration option was added and its use in conjunction with the copy offload binary is discussed, along with instructions to download and configure the storage system to support the copy offload workflow. Change-Id: Ie3562a83c0f9c6ff4a786eb899fdbf1e5c6efcf3 Implements: blueprint copyoffload --- doc/common/tables/cinder-netapp_cdot_nfs.xml | 4 + .../drivers/netapp-volume-driver.xml | 112 ++++++++++++++++-- .../cinder.flagmappings | 1 + 3 files changed, 109 insertions(+), 8 deletions(-) diff --git a/doc/common/tables/cinder-netapp_cdot_nfs.xml b/doc/common/tables/cinder-netapp_cdot_nfs.xml index 8dac5eacc4..cd1add9f2f 100644 --- a/doc/common/tables/cinder-netapp_cdot_nfs.xml +++ b/doc/common/tables/cinder-netapp_cdot_nfs.xml @@ -22,6 +22,10 @@ expiry_thres_minutes = 720 (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_login = None (StrOpt) Administrative user account name used to access the storage system. 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 f8e51139fb..3298d064c8 100644 --- a/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml +++ b/doc/config-reference/block-storage/drivers/netapp-volume-driver.xml @@ -83,7 +83,7 @@ visit the OpenStack NetApp - community. + community. @@ -135,12 +135,108 @@ will not work and you may see warnings in the Cinder logs. + + + NetApp NFS Copy Offload client + A feature was added in the Icehouse release of the NetApp unified + driver that enables Image Service images to be efficiently copied to a + destination Block Storage volume. When the Block Storage and Image Service are + configured to use the NetApp NFS Copy Offload client, a controller-side copy + will be attempted before reverting to downloading the image from the + Image Service. This improves image provisioning times while reducing the + consumption of bandwidth and CPU cycles on the host(s) running the Image + and Block Storage services. This is due to the copy operation being performed + completely within the storage cluster. + The NetApp NFS Copy Offload client can be used in either of the following + scenarios: + + + The Image Service is configured to store images in an NFS share that + is exported from a NetApp FlexVol volume and + the destination for the new Block Storage volume will be on an NFS share + exported from a different FlexVol volume than the one used by + the Image Service. Both FlexVols must be located within the same cluster. + + + The source image from the Image Service has already been cached in an NFS + image cache within a Block Storage backend. The cached image resides on a + different FlexVol volume than the destination for the new Block Storage + volume. Both FlexVols must be located within the same cluster. + + + In order to use this feature, the Image Service must be configured as follows: + + + The default_store configuration option should be set to + file + + + The filesystem_store_datadir configuration option should be set to + the path to the the Image Service NFS export + + + The show_image_direct_url configuration option should be set to + True + + + The show_multiple_locations configuration option should be set to + True + + + The filesystem_store_metadata_file 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: + + + +{ + "share_location": "nfs://192.168.0.1/myGlanceExport", + "mount_point": "/var/lib/glance/images", + "type": "nfs" +} + + In order to use this feature, the Block Storage Service must be configured as follows: + + + The netapp_copyoffload_tool configuration option should be set to + the path to the NetApp Copy Offload binary + + + The glance_api_version configuration option should be set to + 2 + + + + This feature requires that: + + + The storage system must have Data ONTAP v8.2 or greater + installed. + + + The vStorage feature must be enabled on each storage virtual + machine (SVM, also known as a Vserver) that is permitted to + interact with the copy offload client. + + + NFS v4.0 or greater must be enabled and correctly exported + from the SVM in order for the copy offload workflow to succeed. + + + - For more information on these options and - other deployment and operational scenarios, - visit the OpenStack NetApp community. + To download the NetApp copy offload binary to be utilized + in conjunction with the netapp_copyoffload_tool_path + configuration option, please visit the Downloads section of + the NetApp + support site. + + + For more information on these options and other deployment + and operational scenarios, visit the + OpenStack NetApp community. @@ -239,7 +335,7 @@ other deployment and operational scenarios, visit the OpenStack NetApp community. + >OpenStack NetApp community. @@ -289,7 +385,7 @@ other deployment and operational scenarios, visit the OpenStack NetApp community. + >OpenStack NetApp community. diff --git a/tools/autogenerate-config-flagmappings/cinder.flagmappings b/tools/autogenerate-config-flagmappings/cinder.flagmappings index e92ea04a2f..9131d125ea 100644 --- a/tools/autogenerate-config-flagmappings/cinder.flagmappings +++ b/tools/autogenerate-config-flagmappings/cinder.flagmappings @@ -149,6 +149,7 @@ 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