VMware: Storage policy based volume-type for vmdk volumes
VMware VMDK cinder driver in havana lets users create a volume as a vmdk on a VC datastore and attach / detach it to a running VMware VM instance. The user could associate a vmware:vmdk_type or vmware:clone_type through a volume-type for such volumes. This blueprint is to add the ability to associate a VM Storage Policy through a volume-type to a vmdk volume. The vmdk driver would place such volumes only a datastore that matches the associated storage policy. With this change a storage admin will create VM storage policies through a VC client and expose them as cinder volume-type, one volume-type for each VM storage policy to be exposed to cinder volumes. The end user will be able to create volumes by picking a volume type and the vmdk cinder driver will associate the corresponding VM storage policy with these volumes.
Blueprint information
Related branches
Related bugs
Sprints
Whiteboard
* Note: Cinder's existing volume type definition will be used to configure and hold the names of storage profiles under the namespace "vmware:
* Phase 1: Implementation will do the following:
* A new PBM client (similar to the existing VIM client) will be needed to make API calls to the PBM service. The existing VMwareAPISession will expand to accommodate api calls to PBM service through the pbm client object.
* Datastore filtering when placing a new backing VM as well as when moving an existing backing VM will make use of PBM APIs to find out matching datastores.
*Additional unit tests to cover new code. This will be written using Mock. Existing unit test changes will continue to be in mox.
* PBM WSDL file will be needed to make the SPBM storage policy API calls to VC. This file have to manually downloaded and configured in cinder.conf in this phase. The next phase will attempt to ease this manual step.
* Phase 2: PBM WSDL files setup
Gerrit topic: https:/
Addressed by: https:/
Storage policy based volume placement.
Addressed by: https:/
vmware: check datastore availability during create
Addressed by: https:/
vmware: default global pbm policy configuration
Addressed by: https:/
vmware: PBM wsdl file configuration
Work Items
Work items:
Phase 1 implementation : DONE
Phase 2 wsdl file setup : DONE