As enterprises grow to adopt OpenStack, use cases around resillient storage and the vendors they already have procurement relationships with keep popping up. There are two foundational functions that need to be supported within OpenStack in order as foundations to build a rich storage system that meets the demands of the enterprise. I'd like to focus on what the community wants to see in these features and how they should be built.
Storage Tiering - This allows for less critical instances to be placed on commodity storage, and for dev&test environments to be placed on lower grade environments. Can this be accomplished by the multi-provider code being submitted, a hint to the storage system underneath, or do we need to put in something new? What semantics would we like to put in place here?
Shared Volumes - Many clustering filesystems and solutions such as SQL Server rely on shared storage volumes being presented to multiple instances. Currently, volumes can only be mounted to one instance within Cinder. Should we change this restriction to all volumes (traditional local disk installations are in capable of this), or create a new type of volume to support instance sharing?