How to deploy cinder with EMC plug-in

Intro:
Cinder is responsible for the management of block storage in OpenStack, and handles volume management related tasks. Cinder supports different volume drivers, those drivers allows creation, modification and removal of volumes directly on related storage Vendor (type), in our case, EMC driver.


 * Note: that configuration is not that strait-forward, so please make sure to follow all steps required.

Setup:

 * Cinder machine installed with RHEL6.4
 * Note: we are using basic AIO topology


 * Dedicated physical machine installed with RHEL6.4 (64bit)
 * Note: this machine will be used to host the SMI-S server


 * EMC storage (we are using EMC VNX5300)
 * Address of both SPA and SPB controllers
 * User and password for both controllers
 * Dedicated storage pool (in our example: call it - "OpenStack")

Example Details:

 * Cinder machine IP address : 1.1.1.1
 * SMI-S Provider machine IP address : 1.1.1.10
 * SPA IP address : 1.1.1.102
 * SPB IP address : 1.1.1.103
 * ISCSI target IP address: 1.1.1.104

Storage (EMC) machine:
Using Unisphere, create a new storage pool with name "OpenStack" (make sure pool is a thin-pool).

SMI-S Server:
Install the following packages: # yum install -y libgcc_s.so.1 glibc.i686 *pywbem* compat-libstdc++-33.x86_64 libstdc++-devel-* Download SMI-S (solution provider) from EMC site and install it (kit name: se7510-Linux-i386-SMI.tar) Unpack and install SMI-S server: # tar -xvf se7510-Linux-i386-SMI.tar # ./se7510_install.sh -install -host Deploy SMI-S server and configure storage Array # cd /opt/emc/ECIM/ECOM/bin/ # ./TestSmiProvider (localhost:5988) ? addsys Add System {y|n} [n]: y     ArrayType (1=Clar, 2=Symm) [1]: One or more IP address or Hostname or Array ID     Elements for Addresses IP address or hostname or array id 0 (blank to quit): 1.1.1.102 IP address or hostname or array id 1 (blank to quit): 1.1.1.103 IP address or hostname or array id 2 (blank to quit): Address types corresponding to addresses specified above. (1=URL, 2=IP/Nodename, 3=Array ID) Address Type (0) [default=2]: Address Type (1) [default=2]: User [null]: sysadmin Password [null]: sysadmin ++++ EMCAddSystem ++++

Pre Requirements
# yum install -y libgcc_s.so.1 glibc.i686 *pywbem* compat-libstdc++-33.x86_64 libstdc++-devel-*

Configuration Changes
# Edit /etc/cinder/cinder.conf and append the following configuration: iscsi_target_prefix = iqn.1992-04.com.emc iscsi_ip_address = 1.1.1.104 volume_driver = cinder.volume.drivers.emc.emc_smis_iscsi.EMCSMISISCSIDriver cinder_emc_config_file = /etc/cinder/cinder_emc_config.xml # touch /etc/cinder/cinder_emc_config.xml # Edit /etc/cinder/cinder_emc_config.xml and append the following configuration:   OpenStack 1.1.1.10 5985 admin #1Password 

Restart cinder volume service: # /etc/init.d/openstack-cinder-volume restart

Testing:
# . ~/keystonerc_admin #  cinder create --display-name test 10 #  cinder list +--+---+--+--+-+--+-+   |                  ID            |   Status  | Display Name | Size | Volume Type | Bootable | Attached to | +--+---+--+--+-+--+-+   | bbc2cc41-5a05-4524-a31f-e6ed76ddab0b | available |    test     |  10   |     None    |  false      | +--+---+--+--+-+--+-+

For more information, please refer to the SMI-S Provider Release Notes