Add ProphetStor DPL Storage server volume driver for Cinder

ProphetStor DPL Storage server enables x86 commodity hardware as
enterprise-grade storage systems.

Implements: blueprint prophetstor-dpl-driver
Change-Id: I1c67754c6bb9e8be61afe18bf17000180769277b
This commit is contained in:
Rick Chen 2014-06-03 13:35:06 +08:00
parent d90fbeadc5
commit 93e5693a37
4 changed files with 170 additions and 4 deletions

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Warning: Do not edit this file. It is automatically
generated and your changes will be overwritten.
The tool to do so lives in the tools directory of this
repository -->
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
<table rules="all" xml:id="config_table_cinder_prophetstor_dpl">
<caption>Description of configuration options for prophetstor_dpl</caption>
<col width="50%"/>
<col width="50%"/>
<thead>
<tr>
<th>Configuration option = Default value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2">[DEFAULT]</th>
</tr>
<tr>
<td>san_ip = </td>
<td>(StrOpt) IP address of ProphetStor DPL storage server.</td>
</tr>
<tr>
<td>san_login = </td>
<td>(StrOpt) Username of ProphetStor DPL storage server.</td>
</tr>
<tr>
<td>san_password = </td>
<td>(StrOpt) Password of ProphetStor DPL storage server.</td>
</tr>
<tr>
<td>san_thin_provision = True</td>
<td>(BoolOpt) Use thin provisioning for SAN volumes.</td>
</tr>
<tr>
<td>dpl_port = 8357</td>
<td>(IntOpt) Port number of ProphetStor DPL storage server.</td>
</tr>
<tr>
<td>dpl_pool = </td>
<td>(StrOpt) Pool id of ProphetStor DPL storage server.</td>
</tr>
</tbody>
</table>
</para>

View File

@ -0,0 +1,116 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="prophetstor-dpl-driver">
<title>ProphetStor DPL Fibre Channel and iSCSI drivers</title>
<para>The <literal>DPLFCDriver</literal> and
<literal>DPLISCSIDriver</literal> drivers run
volume operations by communicating with the ProphetStor DPL storage
system over HTTPS.</para>
<section xml:id="prophetstor-dpl-driver-ops">
<title>Supported operations</title>
<itemizedlist>
<listitem>
<para>Volume create/delete.</para>
</listitem>
<listitem>
<para>Volume attach/detach.</para>
</listitem>
<listitem>
<para>Snapshot create/delete.</para>
</listitem>
<listitem>
<para>Create volume from snapshot.</para>
</listitem>
<listitem>
<para>Get volume stats.</para>
</listitem>
<listitem>
<para>Clone volume.</para>
</listitem>
<listitem>
<para>Extend volume.</para>
</listitem>
<listitem>
<para>Copy image to volume.</para>
</listitem>
<listitem>
<para>Copy volume to image.</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="enable-prophetstor-dpl-iscsi-fb">
<title>Enable the Fibre Channel or iSCSI drivers</title>
<para>The <literal>DPLFCDriver</literal> and
<literal>DPLISCSIDriver</literal> are installed
with the OpenStack software.</para>
<procedure>
<step>
<para>Query DPL pool id for configure <literal>dpl_pool</literal> of the
<filename>cinder.conf</filename>.</para>
<substeps>
<step>
<para>Logon onto the DPL storage system with administrator
access.</para>
<screen><prompt>$</prompt> <userinput>ssh root@<replaceable>DPL IP ADDRESS</replaceable></userinput></screen>
</step>
<step>
<para>View the current usable pool id.</para>
<screen><prompt>$</prompt> <userinput>flvcli show pool list</userinput>
<computeroutput>- d5bd40b58ea84e9da09dcf25a01fdc07 : default_pool_dc07</computeroutput></screen>
</step>
<step>
<para>Use <literal>d5bd40b58ea84e9da09dcf25a01fdc07</literal>
to config the <literal>dpl_pool</literal> of <filename>/etc/cinder/cinder.conf</filename>.</para>
</step>
</substeps>
<note>
<para>Other management command can reference by command help <command>flvcli -h</command>.</para>
</note>
</step>
<step>
<para>Make the following changes on the volume node
<filename>/etc/cinder/cinder.conf</filename>
file.</para>
<programlisting language="ini"># IP address of SAN controller (string value)
san_ip=<replaceable>DPL IP ADDRESS</replaceable>
# Username for SAN controller (string value)
san_login=<replaceable>USERNAME</replaceable>
# Password for SAN controller (string value)
san_password=<replaceable>PASSWORD</replaceable>
# Use thin provisioning for SAN volumes? (boolean value)
san_thin_provision=true
# DPL pool uuid in which DPL volumes are stored. (string value)
dpl_pool=d5bd40b58ea84e9da09dcf25a01fdc07
# DPL port number. (integer value)
dpl_port=8357
# Uncomment one of the next two option to enable Fibre channel or iSCSI
# FIBRE CHANNEL(uncomment the next line to enable the FC driver)
#volume_driver=cinder.volume.drivers.prophetstor.dpl_fc.DPLFCDriver
# iSCSI (uncomment the next line to enable the iSCSI driver)
#volume_driver=cinder.volume.drivers.prophetstor.dpl_iscsi.DPLISCSIDriver</programlisting>
</step>
<step>
<para>Save the changes to the
<filename>/etc/cinder/cinder.conf</filename> file and
restart the <systemitem class="service"
>cinder-volume</systemitem> service.</para>
</step>
</procedure>
<para>The ProphetStor Fibre Channel or iSCSI drivers are now
enabled on your OpenStack system. If you experience
problems, review the Block Storage service log files for
errors.</para>
<para>The following table contains the options supported
by the ProphetStor DPL driver.</para>
<xi:include
href="../../../common/tables/cinder-prophststor_dpl.xml"/>
</section>
</section>

View File

@ -32,6 +32,7 @@
<xi:include href="drivers/netapp-volume-driver.xml"/>
<xi:include href="drivers/nexenta-volume-driver.xml"/>
<xi:include href="drivers/nfs-volume-driver.xml"/>
<xi:include href="drivers/prophetstor-dpl-driver.xml"/>
<xi:include href="drivers/solidfire-volume-driver.xml"/>
<xi:include href="drivers/vmware-vmdk-driver.xml"/>
<xi:include href="drivers/windows-volume-driver.xml"/>

View File

@ -52,6 +52,8 @@ default_log_levels common
default_timeout rpc
default_volume_type common
disable_process_locking common
dpl_port prophetstor_dpl
dpl_pool prophetstor_dpl
enable_new_services common
enable_v1_api api
enable_v2_api api
@ -277,13 +279,13 @@ rpc_zmq_port rpc
rpc_zmq_topic_backlog rpc
run_external_periodic_tasks common
san_clustername san
san_ip san
san_ip san prophetstor_dpl
san_is_local san
san_login san
san_password san
san_login san prophetstor_dpl
san_password san prophetstor_dpl
san_private_key san
san_ssh_port san
san_thin_provision san
san_thin_provision san prophetstor_dpl
san_zfs_volume_base san-solaris
scality_sofs_config scality
scality_sofs_mount_point scality