Jump to: navigation, search

Obsolete:Cinder/EMCVolumeDriver

Revision as of 05:48, 12 December 2012 by Xing (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
  • Launchpad Entry:
  • Created: 12 December 2012
  • Contributors: Xing Yang

Summary

We would like to introduce support for EMC storage in the Cinder-Volume service. This blueprint proposes a driver based on the existing ISCSIDriver, with the ability to create/delete and export/unexport volumes, etc.

The Cinder Driver executes the volume operations by communicating with the backend EMC storage. It uses a CIM client in python called PyWBEM to make CIM operations over HTTP. EMC CIM Object Manager (ECOM) is packaged with the SMI-S Provider. It is a CIM server that allows CIM clients to make CIM operations over HTTP, using SMI-S in the backend for EMC storage operations. SMI-S Provider supports the SNIA Storage Management Initiative (SMI), an ANSI standard for storage management. This initiative has developed a standard management interface that has culminated in a comprehensive specification (SMI-Specification or SMI-S). The SMI-S Provider is paired with the EMC CIM Object Manager Server to provide an SMI-compliant interface for VMAX/VMAXe and VNX storage systems.

Release Note

For the initial implementation we would like to provide the ability to create, delete, attach, and detach VMAX/VMAXe and VNX volumes to nova-compute VM's via iSCSI.

Rationale

User stories

User sets flags in /etc/cinder.conf, and starts/restarts cinder-volume service.

Example cinder.conf entries:

iscsi_target_prefix = iqn.2001-07.com.vnx iscsi_ip_address = 10.10.61.35 volume_driver = cinder.volume.emc.EMCISCSIDriver cinder_emc_config_file = /opt/stack/cinder/etc/cinder/cinder_emc_config.xml

EMC VMAX/VMAXe or VNX storage should now be available for use by OpenStack for additional block storage.

volume-create:

  • In create_volume, one SMI-S method call is invoked to create a volume of the specified size.

Class: EMC_StorageConfigurationService Method: CreateOrModifyElementFromStoragePool Parameters: ElementName: Volume name generated by Openstack. InPool: Object path of the EMC_StoragePool where volume will be created from. It is either EMC_VirtualProvisioningPool (for VMAX/VMAXe) or EMC_UnifiedStoragePool (for VNX). Only thin pool is supported. ElementType: 5 Size: Size of the volume in bytes.

volume-delete:

  • In delete_volume, one SMI-S method call is invoked to delete the specified volume.

Class: EMC_StorageConfigurationService Method: EMCReturnToStoragePool Parameters: TheElements: Object path of the EMC_StorageVolume that will be deleted.

This has been tested with the Folsom release using Horizon and Cinder CLI.

Assumptions

Notes

Design

Subclass implementation of the ISCSIDriver in cinder/volume/driver.py