This guide explains how to install, configure, and make use of the EMC ViPR Cinder Driver with the Havana release of OpenStack.
The EMC ViPR Cinder driver contains both an ISCSIDriver as well as a FibreChannelDriver, with the ability to create/delete and attach/detach volumes and create/delete snapshots, etc.
EMC ViPR version 1.0, or above, is required. Refer to the EMC ViPR documentation installation and configuration instructions.
The following operations are supported:
- Create volume
- Delete volume
- Attach volume
- Detach volume
- Create snapshot
- Delete snapshot
- Get Volume Stats
- Copy image to volume
- Copy volume to image
- Clone volume
The following operations are not supported:
- Create volume from snapshot
The EMC ViPR environment must meet specific configuration requirements to support the OpenStack Cinder Driver:
- ViPR users must be assigned a Tenant Administrator role or a Project Administrator role for the Project being used. ViPR roles are configured by ViPR Security Administrators. Consult the EMC ViPR documentation for details.
- The following configuration must have been done by a ViPR System Administrator, using the ViPR UI, ViPR API, or ViPR CLI:
- ViPR virtual assets, such as virtual arrays and virtual pools, must have been created.
- Each virtual array designated for use in the OpenStack iSCSI driver must have an iSCSI network created with appropriate IP storage ports. Note: Multi-volume consistency groups are not supported by the ViPR ViPR Cinder Driver. Please ensure that the Multi-volume consistency option is not enabled on the Virtual Pool with ViPR.
- Each instance of the ViPR Cinder Driver can be used to manage only one one virtual array and one virtual pool within ViPR.
- The ViPR Cinder Driver requires one Virtual Storage Pool, with the following requirements (non-specified values can be set as desired):
- Storage Type: Block
- Provisioning Type: Thin
- Protocol: iSCSI or Fibre Channel or both
- Multi-Volume Consistency: DISABLED
- Maximum Native Snapshots: A value greater than 0 allows the OpenStack user to take Snapshots.
-
Download the EMC ViPR Cinder driver from the following location: https://github.com/emcvipr/controller-openstack-cinder.
-
Copy the vipr subdirectory to the cinder/volume/drivers/emc directory of your OpenStack node(s) where cinder-volume is running. This directory is where other Cinder drivers are located.
-
Modify /etc/cinder/cinder.conf by adding the following lines, substituting values for your environment:
volume_driver = cinder.volume.drivers.emc.vipr.emc_vipr_iscsi.EMCViPRISCSIDriver
vipr_hostname=lgly7180.lss.emc.com
vipr_port=4443
vipr_username=username
vipr_password=password
vipr_tenant=Provider Tenant
vipr_project=vprojectname
vipr_varray=varrayname
vipr_cookiedir=/tmp
note 1: The value for vipr_cookiedir defaults to /tmp but can be overridden if specified
note 2: to utilize the Fibre Channel Driver, replace the volume_driver line above with:
volume_driver = cinder.volume.drivers.emc.vipr.emc_vipr_iscsi.EMCViPRFCDriver
- Modify the rpc_response_timeout value in /etc/cinder/cinder.conf to at least 5 minutes. if this value does not already exist within the cinder.conf file, please add it
rpc_response_timeout=300
- Create OpenStack volume types with the cinder command
cinder --os-username admin --os-tenant-name admin type-create <typename>
- Map the OpenStack volume type to the ViPR Virtual Pool with the cinder command
cinder --os-username admin --os-tenant-name admin type-key <typename> set ViPR:VPOOL=<ViPR-poolname>
-
Add your nova compute nodes to ViPR. This will add the compute node iSCSI initiators to the ViPR networks
-
on the cinder-volume node, cd to the cinder/volume/drivers/emc/vipr/cli directory
-
run the viprcli.py command to add the compute nodes to the ViPR networks
python viprcli.py openstack add_host -name <hostname> -wwpn <initiator>
- Note: you may need to run the following command first to authenticate with ViPR system admin credentials.
python viprcli.py authenticate -u <sysadmin_user> -d <cookiedir>
-
The OpenStack compute host must be attached to a VSAN or fabric discovered by ViPR.
-
There is no need to perform any SAN zoning operations. EMC ViPR will perform the necessary operations autmoatically as part of the provisioning process
-
If you are running an older version of OpenStack, you may need to add the following line within the /etc/cinder/rootwrap.d/volume.filters file, to enable sg_scan to run under rootwrap.
sg_scan: CommandFilter, sc_scan, root
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Copyright (c) 2013 EMC Corporation.