From 280d84e86602fd5ee6bfb50c31c3e61987e461f1 Mon Sep 17 00:00:00 2001 From: Kartik Bommepally Date: Wed, 16 Oct 2013 03:53:32 -0700 Subject: [PATCH] VMware: Added doc for VMware VMDK cinder driver Added document describing configuration of the driver and supported operations when using it for cinder volume management. Updated volume section in doc/common/section_vmware.xml. Change-Id: I1181f8c834c916ef241a5abdeb48ab85b778d8e7 Implements: blueprint vmware-vmdk-cinder-driver --- doc/common/section_vmware.xml | 7 +- .../drivers/vmware-vmdk-driver.xml | 284 ++++++++++++++++++ .../block-storage/section_volume-drivers.xml | 1 + 3 files changed, 289 insertions(+), 3 deletions(-) create mode 100644 doc/config-reference/block-storage/drivers/vmware-vmdk-driver.xml diff --git a/doc/common/section_vmware.xml b/doc/common/section_vmware.xml index 606fd4511e..310c9c8fac 100644 --- a/doc/common/section_vmware.xml +++ b/doc/common/section_vmware.xml @@ -270,9 +270,10 @@ is_public=true --property vmware_adaptertype="ide" \
Volumes with VMware vSphere - The VMware driver has limited support for attaching Volumes from the OpenStack Block - Storage service, supporting attachments only if the volume driver type is 'iscsi'. There is no - support for volumes based on vCenter Datastores in this release. + The VMware driver supports attaching volumes from the OpenStack Block + Storage service. 'iscsi' volume driver provides limited support and can be + used only for attachments. VMware VMDK driver of OpenStack Block Storage + can be used for managing volumes based out of vSphere datastores.
Configuration Reference diff --git a/doc/config-reference/block-storage/drivers/vmware-vmdk-driver.xml b/doc/config-reference/block-storage/drivers/vmware-vmdk-driver.xml new file mode 100644 index 0000000000..09a9ef2cea --- /dev/null +++ b/doc/config-reference/block-storage/drivers/vmware-vmdk-driver.xml @@ -0,0 +1,284 @@ + +
+ VMware VMDK driver + VMware VMDK driver enables management of cinder volume on VMware + vCenter Server or ESX managed datastore. Cinder volume is backed by VMDK + files on the datastore. + + Configuration + Two cinder drivers for VMware vCenter server and ESX are + provided. Appropriate driver must be configured when using VMware + server. For attach/detach operation to an instance, the driver works as + expected only with the VMware driver for nova and it does not work + with other nova drivers. Both nova and cinder drivers must be + configured to the same server. The following table captures the + configuration mapping: + + + + + + + + + + + + + + + + + + + + + +
+ Cinder-Nova configuration mapping with VMware server +
VMware serverNova driverCinder driver
vCenter servervmwareapi.VMwareVCDriver + cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver +
ESX/ESXi servervmwareapi.VMwareESXDriver + cinder.volume.drivers.vmware.vmdk.VMwareEsxVmdkDriver +
+ The following are mandatory properties to be specified in the + configuration file: + + + + + + + + + + + + + + + + + + + + + + +
+ Mandatory properties +
NameDescription
vmware_host_ip + IP address for connecting to VMware ESX/VC server +
vmware_host_username + Username for authenticating with VMware ESX/VC server +
vmware_host_password + Password for authenticating with VMware ESX/VC server +
+ The following are optional properties to be specified in the + configuration file: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Optional properties +
NameDefault valueDescription
vmware_wsdl_locationNoneOptional VIM service WSDL Location e.g + http://server/vimService.wsdl. Optional over-ride to + default location for bug work-arounds. +
vmware_api_retry_count10Number of times VMware ESX/VC server API must be + retried upon connection related issues +
vmware_task_poll_interval5The interval used for polling remote tasks invoked on + VMware ESX/VC server +
vmware_volume_foldercinder-volumesName for the folder in the VC datacenter that will + contain cinder volumes +
vmware_image_transfer_timeout_secs7200Timeout in seconds for VMDK volume transfer between + Cinder and Glance +
vmware_max_objects_retrieval100Max number of objects to be retrieved per batch. Query + results will be obtained in batches from the server and not + in one shot. Server may still limit the count to something + less than the configured value. +
+
+ + VMDK disk type + VMwareVcVmdkDriver and VMwareEsxVmdkDriver support creating + VMDK disk file of types: thin, + thick and eagerZeroedThick. + VMDK disk file type can be specified via volume type extra specs. By + using any volume type with appropriate extra spec for volume creation, + the driver creates one of the above VMDK disk file type. The following + captures extra spec entry to VMDK disk file type mapping: + + + + + + + + + + + + + + + + + + + + + + + + + + +
Extra spec entry to VMDK disk file type mapping
Disk file typeExtra spec keyExtra spec value
thinvmware:vmdk_typethin
thickvmware:vmdk_typethick
eagerZeroedThickvmware:vmdk_typeeagerZeroedThick
+ When no volume type is used or if none of the above extra spec + entry is found in the volume type, then the default disk file type + used is thin. + Example: creation of thick VMDK volume + + $ cinder type-create thick_volume + $ cinder type-key thick_volume set vmware:vmdk_type=thick + $ cinder create --volume-type thick_volume --display-name volume1 1 + +
+ + Clone type + VMwareVcVmdkDriver supports clone types: full + and linked/fast while creating volume from another + source volume or from a snapshot point. Clone type can be specified via + volume type extra specs. By using volume type with appropriate extra + spec for creating volume from another source volume or from a snapshot + point, the driver creates a full clone or a + linked clone. The following captures extra spec + entry to clone type mapping: + + + + + + + + + + + + + + + + + + + + + +
Extra spec entry to clone type mapping
Clone typeExtra spec keyExtra spec value
fullvmware:clone_typefull
linked/fastvmware:clone_typelinked
+ When no volume type is used or if none of the above extra spec + entry is found in the volume type, then the default clone type is + full. + Example: linked cloning from another source volume + + $ cinder type-create fast_clone + $ cinder type-key fast_clone set vmware:clone_type=linked + $ cinder create --volume-type fast_clone --source-volid 25743b9d-3605-462b-b9eb-71459fe2bb35 --display-name volume1 1 + + Note: VMwareEsxVmdkDriver ignores the extra spec entry and always + creates a full clone while creating volume from + another source volume or from a snapshot point. +
+ + Supported operations + The following operations are supported by VMwareVcVmdkDriver and + VMwareEsxVmdkDriver: + + + create volume + + + create volume from another source volume: Supported only + if source volume is not attached to an instance. + + + create volume from snapshot + + + create volume from glance image + + + attach volume: When a volume is attached to an instance, + a reconfigure operation is performed on the instance to add the + volume's VMDK to it. The user must manually rescan and mount + the device from within the guest operating system. + + + detach volume + + + create snapshot: Allowed only if volume is not attached + to an instance. + + + delete snapshot: Allowed only if volume is not attached + to an instance. + + + upload as image to glance: Allowed only if volume is not + attached to an instance. + + + + + Datastore selection + The driver chooses datastore that can accommodate for the volume + space and has highest freespace/totalspace metric + value. + When the volume is being attached to an instance, the driver + tries to place the volume under instance's ESX host on a datastore + selected based on the above strategy. + +
diff --git a/doc/config-reference/block-storage/section_volume-drivers.xml b/doc/config-reference/block-storage/section_volume-drivers.xml index 55aa39a496..d71ab02387 100644 --- a/doc/config-reference/block-storage/section_volume-drivers.xml +++ b/doc/config-reference/block-storage/section_volume-drivers.xml @@ -28,6 +28,7 @@ iscsi_helper=tgtadm +