diff --git a/doc/common/figures/coraid/Repository_Creation_Plan_screen.png b/doc/common/figures/coraid/Repository_Creation_Plan_screen.png
new file mode 100644
index 0000000000..413d1f169c
Binary files /dev/null and b/doc/common/figures/coraid/Repository_Creation_Plan_screen.png differ
diff --git a/doc/config-reference/block-storage/drivers/coraid-driver.xml b/doc/config-reference/block-storage/drivers/coraid-driver.xml
new file mode 100644
index 0000000000..abc1dd26fa
--- /dev/null
+++ b/doc/config-reference/block-storage/drivers/coraid-driver.xml
@@ -0,0 +1,337 @@
+
+
+ Coraid AoE Driver Configuration
+ Coraid storage appliances can provide block-level storage to OpenStack instances. Coraid
+ storage appliances use the low-latency ATA-over-Ethernet (ATA) protocol to provide
+ high-bandwidth data transfer between hosts and data on the network.
+ Once configured for OpenStack, you can:
+
+ Create, delete, attach, and detach block storage volumes.
+
+
+ Create, list, and delete volume snapshots.
+
+
+ Create a volume from a snapshot, copy an image to a volume, copy a volume to an image,
+ clone a volume, and get volume statistics.
+
+
+ This document describes how to configure the OpenStack Block Storage service for
+ use with Coraid storage appliances.
+
+ Terminology
+ The following terms are used throughout this section:
+
+
+
+
+
+ Term
+ Definition
+
+
+
+
+ AoE
+ ATA-over-Ethernet protocol
+
+
+ EtherCloud Storage Manager (ESM)
+ ESM provides live monitoring and management of EtherDrive appliances that use
+ the AoE protocol, such as the SRX and VSX.
+
+
+ Fully-Qualified Repository Name (FQRN)
+ The FQRN is the full identifier of a storage profile. FQRN syntax is:
+ performance_class-availability_class:profile_name:repository_name
+
+
+ SAN
+ Storage Area Network
+
+
+ SRX
+ Coraid EtherDrive SRX block storage appliance
+
+
+ VSX
+ Coraid EtherDrive VSX storage virtualization appliance
+
+
+
+
+
+
+ Requirements
+ To support OpenStack Block Storage, your SAN must include an SRX for physical storage, a
+ VSX running at least CorOS v2.0.6 for snapshot support, and an ESM running at least v2.1.1 for storage repository
+ orchestration. Ensure that all storage appliances are installed and connected to your network
+ before configuring OpenStack volumes.
+ Each compute node on the network running an OpenStack instance must have the Coraid AoE
+ Linux driver installed so that the node can communicate with the SAN.
+
+
+ Overview
+ To configure the OpenStack Block Storage for use with Coraid storage appliances, perform
+ the following procedures:
+
+ Download and install the Coraid Linux AoE driver.
+
+
+ Create a storage profile using the Coraid ESM GUI.
+
+
+ Create a storage repository using the ESM GUI and record the FQRN.
+
+
+ Configure the cinder.conf file.
+
+
+ Create and associate a block storage volume type.
+
+
+
+
+ Installing the Coraid AoE Driver
+ Install the Coraid AoE driver on every compute node that will require access to block
+ storage.
+ The latest AoE drivers will always be located at http://support.coraid.com/support/linux/.
+ To download and install the AoE driver, follow the instructions below, replacing “aoeXXX”
+ with the AoE driver file name:
+
+
+ Download the latest Coraid AoE driver.
+
+ #wget http://support.coraid.com/support/linux/aoeXXX.tar.gz
+
+
+
+ Unpack the AoE driver.
+
+
+ Install the AoE driver.
+ #cd aoeXXX
+ #make
+ #make install
+
+
+ Initialize the AoE driver.
+
+ #modprobe aoe
+
+
+
+ Optionally, specify the Ethernet interfaces that the node can use to communicate with
+ the SAN.
+ The AoE driver may use every Ethernet interface available to the node unless limited
+ with the aoe_iflist parameter. For more information about the
+ aoe_iflist parameter, see the aoe readme file
+ included with the AoE driver.
+
+ #modprobe aoe_iflist="eth1 eth2 ..."
+
+
+
+
+
+ Creating a Storage Profile
+ To create a storage profile using the ESM GUI:
+
+
+ Log on to the ESM.
+
+
+ Click on Storage Profiles in the SAN Domain pane.
+
+
+ Choose Menu > Create Storage Profile. If the
+ option is unavailable, you may not have the appropriate permission level. Make sure you
+ are logged on to the ESM as the SAN Administrator.
+
+
+ Select a storage class using the storage class selector.
+ Each storage class includes performance and availability criteria (see the Storage
+ Classes topic in the ESM Online Help for information on the different options).
+
+
+ Select a RAID type (if more than one is available) for the selected profile
+ type.
+
+
+ Type a Storage Profile name.
+ The name is restricted to alphanumeric characters, underscore (_), and hyphen (-), and
+ cannot exceed 32 characters.
+
+
+ Select the drive size from the drop-down menu.
+
+
+ Select the number of drives to be initialized per RAID (LUN) from the drop-down menu
+ (if the RAID type selected requires multiple drives).
+
+
+ Type the number of RAID sets (LUNs) you want to create in the repository using this
+ profile.
+
+
+ Click Next to continue with creating a Storage Repository.
+
+
+
+
+ Creating a Storage Repository and Retrieving the FQRN
+ To create a storage repository and retrieve the FQRN:
+
+
+ Access the Create Storage Repository dialog box.
+
+
+ Type a Storage Repository name.
+ The name is restricted to alphanumeric characters, underscore (_), hyphen (-), and
+ cannot exceed 32 characters.
+
+
+ Click on Limited or Unlimited to indicate the maximum repository size.
+ Limited—Limited means that the amount of space that can be allocated to the
+ repository is set to a size you specify (size is specified in TB, GB, or MB).
+ When the difference between the reserved space and the space already allocated to LUNs
+ is less than is required by a LUN allocation request, the reserved space is increased
+ until the repository limit is reached.
+
+ The reserved space does not include space used for parity or space used for mirrors.
+ If parity and/or mirrors are required, the actual space allocated to the repository from
+ the SAN is greater than that specified in reserved space.
+
+ Unlimited—Unlimited means that the amount of space allocated to the repository
+ is unlimited and additional space is allocated to the repository automatically when space
+ is required and available.
+
+ Drives specified in the associated Storage Profile must be available on the SAN in
+ order to allocate additional resources.
+
+
+
+ Check the Resizable LUN box.
+ This is required for OpenStack volumes.
+
+ If the Storage Profile associated with the repository has platinum availability, the
+ Resizable LUN box is automatically checked.
+
+
+
+ Check the Show Allocation Plan API calls box. Click Next.
+
+
+ Record the FQRN and then click Finish.
+ The QRN is located in the Repository Creation Plan window, on the first line of
+ output, following the “Plan” keyword. The FQRN syntax consists of four parameters, in the
+ format
+ performance_class-availability_class:profile_name:repository_name.
+ In the example below, the FQRN is Bronze-Platinum:BP1000:OSTest,
+ and is highlighted.
+
+ Record the FQRN; it is a required parameter later in the configuration
+ procedure.
+
+
+
+
+ Configuring the cinder.conf file
+ Edit or add the following lines to the file
+ /etc/cinder/cinder.conf:
+ volume_driver = cinder.volume.drivers.coraid.CoraidDriver
+coraid_esm_address = ESM_IP_address
+coraid_user = username
+coraid_group = Access_Control_Group_name
+coraid_password = password
+coraid_repository_key = coraid_repository_key
+
+ Access to storage devices and storage repositories can be controlled using Access Control
+ Groups configured in ESM. Configuring cinder.conf to log on to ESM as the
+ SAN administrator (user name admin), will grant full access to the devices
+ and repositories configured in ESM.
+ Optionally, configuring an ESM Access Control Group and user, and then configuring
+ cinder.conf to access the ESM using that Access Control Group and user
+ limits access from the OpenStack instance to devices and storage repositories defined in the
+ ESM Access Control Group.
+ To manage access to the SAN using Access Control Groups, you must enable the Use Access
+ Control setting in the ESM System Setup > Security screen.
+ For more information about creating Access Control Groups and setting access rights, see
+ the ESM Online Help.
+
+
+ Creating and Associating a Volume Type
+ To create and associate a volume with the ESM storage repository:
+
+
+ Restart Cinder.
+ #service openstack-cinder-api restart
+ #service openstack-cinder-scheduler restart
+ #service openstack-cinder-volume restart
+
+
+ Create a volume.
+ #cinder type-create ‘volume_type_name’
+ where volume_type_name is the name you assign the volume.
+ You will see output similar to the following:
+ +--------------------------------------+-------------+
+| ID | Name |
++--------------------------------------+-------------+
+| 7fa6b5ab-3e20-40f0-b773-dd9e16778722 | JBOD-SAS600 |
++--------------------------------------+-------------+
+ Record the value in the ID field; you will use this value in the next configuration
+ step.
+
+
+ Associate the volume type with the Storage Repository.
+
+ #cinder type-key UUID set coraid_repository_key=’FQRN’
+
+
+
+
+
+
+
+ Variable
+ Description
+
+
+
+
+ UUID
+ The ID returned after issuing the cinder type-create
+ command. Note: you can use the command cinder type-list to
+ recover the ID.
+
+
+ coraid_repository_key
+ The key name used to associate the Cinder volume type with the ESM in the
+ cinder.conf file. If no key name was defined, this will be
+ the default value of coraid_repository.
+
+
+ FQRN
+ The FQRN recorded during the Create Storage Repository process.
+
+
+
+
+
+
+
+
diff --git a/doc/config-reference/block-storage/section_volume-drivers.xml b/doc/config-reference/block-storage/section_volume-drivers.xml
index e6ca8090f0..55aa39a496 100644
--- a/doc/config-reference/block-storage/section_volume-drivers.xml
+++ b/doc/config-reference/block-storage/section_volume-drivers.xml
@@ -15,6 +15,7 @@
volume_driver=cinder.volume.driver.ISCSIDriver
iscsi_helper=tgtadm
+