Merge "Update Huawei driver doc"

This commit is contained in:
Jenkins 2015-11-04 22:41:08 +00:00 committed by Gerrit Code Review
commit c2532135e3

View File

@ -2,13 +2,10 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>Huawei driver</title>
<para>
Huawei NAS driver is a plug-in based the Shared File Systems service.
The Huawei NAS driver can be used to provide functions such as the
share and snapshot for virtual machines(instances) in OpenStack.
Huawei NAS driver enables the OceanStor V3 series V300R002 storage
system to provide only network filesystems for OpenStack.
</para>
<para>Huawei NAS driver is a plug-in based on the Shared File Systems service. The Huawei NAS
driver can be used to provide functions such as the share and snapshot for virtual machines, or
instances, in OpenStack. Huawei NAS driver enables the OceanStor V3 series V300R002 storage
system to provide only network filesystems for OpenStack.</para>
<simplesect>
<title>Requirements</title>
<itemizedlist>
@ -18,64 +15,34 @@
</para>
</listitem>
<listitem>
<para>
The following licenses should be activated on V3 for File:
</para>
<itemizedlist>
<listitem>
<para>
CIFS
</para>
</listitem>
<listitem>
<para>
NFS
</para>
</listitem>
<listitem>
<para>
HyperSnap License (for snapshot)
</para>
</listitem>
</itemizedlist>
<para>The following licenses should be activated on V3 for File: CIFS, NFS, HyperSnap
License (for snapshot)</para>
</listitem>
</itemizedlist>
</simplesect>
<simplesect>
<title>Supported operations</title>
<para>
The following operations is supported on V3 storage:
</para>
<para>The following operations are supported on V3 storage:</para>
<itemizedlist>
<listitem>
<para>
Create CIFS/NFS share.
</para>
<para>Create CIFS/NFS share.</para>
</listitem>
<listitem>
<para>
Delete CIFS/NFS share.
</para>
<para>Delete CIFS/NFS share.</para>
</listitem>
<listitem>
<para>
Allow CIFS/NFS share access.
</para>
<para>Allow CIFS/NFS share access.</para>
<itemizedlist>
<listitem>
<para>
Only IP access type is supported for NFS.
</para>
<para>Only IP access type is supported for NFS(ro/rw).</para>
</listitem>
<listitem>
<para>Only USER access type is supported for CIFS(ro/rw).</para>
</listitem>
</itemizedlist>
<para>
* Only USER access type is supported for CIFS.
</para>
</listitem>
<listitem>
<para>
Deny CIFS/NFS share access.
</para>
<para>Deny CIFS/NFS share access.</para>
</listitem>
<listitem>
<para>
@ -87,6 +54,21 @@
Delete snapshot.
</para>
</listitem>
<listitem>
<para>Manage CIFS/NFS share.</para>
</listitem>
<listitem>
<para>Support pools in one backend.</para>
</listitem>
<listitem>
<para>Extend share.</para>
</listitem>
<listitem>
<para>Shrink share.</para>
</listitem>
<listitem>
<para>Support multi RestURLs.</para>
</listitem>
</itemizedlist>
</simplesect>
<simplesect>
@ -112,8 +94,8 @@
&lt;UserPassword&gt;xxxxxxxxx&lt;/UserPassword&gt;
&lt;/Storage&gt;
&lt;Filesystem&gt;
&lt;AllocType&gt;Thin&lt;/AllocType&gt;
&lt;StoragePool&gt;xxxxxxxxx&lt;/StoragePool&gt;
&lt;Thin_StoragePool&gt;xxxxxxxxx&lt;/Thin_StoragePool&gt;
&lt;Thick_StoragePool&gt;xxxxxxxxx&lt;/Thick_StoragePool&gt;
&lt;WaitInterval&gt;3&lt;/WaitInterval&gt;
&lt;Timeout&gt;60&lt;/Timeout&gt;
&lt;/Filesystem&gt;
@ -121,19 +103,15 @@
</programlisting>
<itemizedlist>
<listitem>
<para>
Product is a type of a storage product. Set it to V3.
</para>
<para>Product is a type of storage product. Set it to V3.</para>
</listitem>
<listitem>
<para>
LogicalPortIP is a IP address of the logical port.
</para>
<para>LogicalPortIP is an IP address of the logical port.</para>
</listitem>
<listitem>
<para>
RestURL is a access address of the REST interface.
</para>
<para>RestURL is an access address of the REST interface. Multi RestURLs can be configured
in &lt;RestURL> (separated by ";"). When one of the RestURL fails to connect, the driver
will retry another automatically.</para>
</listitem>
<listitem>
<para>
@ -146,15 +124,10 @@
</para>
</listitem>
<listitem>
<para>
AllocType is a type of file system space allocation. Valid
values are Thick or Thin.
</para>
<para>Thin_StoragePool is a name of a thin storage pool to be used.</para>
</listitem>
<listitem>
<para>
StoragePool is a name of a storage pool to be used.
</para>
<para>Thick_StoragePool is a name of a thick storage pool to be used.</para>
</listitem>
<listitem>
<para>
@ -172,12 +145,8 @@
</simplesect>
<simplesect>
<title>Backend configuration</title>
<para>
1. Modify the manila.conf Shared File Systems service configuration
file and add
share_driver and manila_huawei_conf_file items. Example for
configuring a storage system:
</para>
<para>Modify the manila.conf Shared File Systems service configuration file and add share_driver
and manila_huawei_conf_file items. Example for configuring a storage system:</para>
<itemizedlist>
<listitem>
<para>
@ -197,20 +166,99 @@
</listitem>
</itemizedlist>
<blockquote>
<note><para>
As far as the Shared File Systems service requires share type
for creation of shares, make sure that
used share type has extra spec
driver_handles_share_servers set to False otherwise Huawei
back end will be filtered by manila-scheduler. If you do
not provide share type with share creation request then
default share type and its extra specs will be used.
</para></note>
<note><para>As far as the Shared File Systems service requires share type for creation of shares, make
sure that used share type has extra spec driver_handles_share_servers set to False
otherwise Huawei back end will be filtered by manila-scheduler. If you do not provide
share type with share creation request then default share type and its extra specs will be
used.</para></note>
</blockquote>
<para>Restart of manila-share service is needed for the configuration changes to take effect.</para>
</simplesect>
<simplesect>
<title>Share types</title>
<para>When creating a share, a share type can be specified to determine where and how the share
will be created. If a share type is not specified, the default_share_type set in the Manila
configuration file is used.</para>
<para>The Shared File Systems service requires that the share type includes the
driver_handles_share_servers extra-spec. This ensures that the share will be created on a
backend that supports the requested driver_handles_share_servers (share networks) capability.
For the Huawei driver, this must be set to False.</para>
<para>Another common extra-spec used to determine where a share is created is
share_backend_name. When this extra-spec is defined in the share type, the share will be
created on a backend with a matching share_backend_name.</para>
<para>The Shared File Systems service "share types" may contain qualified extra-specs,
extra-specs that have significance for the backend driver and the CapabilityFilter. This
commit makes the Huawei driver report the following boolean capabilities:<itemizedlist>
<listitem>
<para>capabilities:dedupe</para>
</listitem>
<listitem>
<para>capabilities:compression</para>
</listitem>
<listitem>
<para>capabilities:thin_provisioning</para>
</listitem>
<listitem>
<para>capabilities:huawei_smartcache<itemizedlist>
<listitem>
<para>huawei_smartcache:cachename</para>
</listitem>
</itemizedlist></para>
</listitem>
<listitem>
<para>capabilities:huawei_smartpartition<itemizedlist>
<listitem>
<para>huawei_smartpartition:partitionname</para>
</listitem>
</itemizedlist></para>
</listitem>
</itemizedlist></para>
<para>The scheduler will choose a host that supports the needed capability when the
CapabilityFilter is used and a share type uses one or more of the following extra-specs:<itemizedlist>
<listitem>
<para>capabilities:dedupe='&lt;is> True' or '&lt;is> False'</para>
</listitem>
<listitem>
<para>capabilities:compression='&lt;is> True' or '&lt;is> False'</para>
</listitem>
<listitem>
<para>capabilities:thin_provisioning='&lt;is> True' or '&lt;is> False'</para>
</listitem>
<listitem>
<para>capabilities:huawei_smartcache='&lt;is> True' or '&lt;is> False'</para>
<itemizedlist>
<listitem>
<para>huawei_smartcache:cachename=test_cache_name</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>capabilities:huawei_smartpartition='&lt;is> True' or '&lt;is> False'</para>
<itemizedlist>
<listitem>
<para>huawei_smartpartition:partitionname=test_partition_name</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist></para>
<para><literal>thin_provisioning</literal> will be reported as True for backends that use thin provisioned pool.
Backends that use thin provisioning also support Manila's over-subscription feature.
'thin_provisioning' will be reported as False for backends that use thick provisioned
pool.</para>
<para><literal>dedupe</literal> will be reported as True for backends that use deduplication technology.</para>
<para><literal>compression</literal> will be reported as True for backends that use compression technology.</para>
<para><literal>huawei_smartcache</literal> will be reported as True for backends that use smartcache technology.
Adds SSDs into a high-speed cache pool and divides the pool into multiple cache partitions to
cache hotspot data in random and small read I/Os.</para>
<para><literal>huawei_smartpartition</literal> will be reported as True for backends that use smartpartition
technology. Add share to the smartpartition named 'test_partition_name'. Allocates cache
resources based on service characteristics, ensuring the quality of critical services.</para>
<blockquote>
<note><para>snapshot_support will be reported as True for backends that support all snapshot
functionalities, including create_snapshot, delete_snapshot, and
create_share_from_snapshot. Huawei Driver does not support create_share_from_snapshot API
now, so make sure that used share type has extra spec snapshot_support set to False.</para></note>
</blockquote>
<para>
Restart of manila-share service is needed for the configuration
changes to take effect.
</para>
</simplesect>
<simplesect>
<title>Restrictions</title>
@ -228,12 +276,6 @@
Only USER access type is supported for CIFS.
</para>
</listitem>
<listitem>
<para>
Only one StoragePool can be configured in the configuration
file.
</para>
</listitem>
</itemizedlist>
</simplesect>
<!--