VMware: Deploy VM to SDRS Datastore Cluster

Registered by Qin Zhao

Currently vmware driver need to select a datastore by itself before deploy a VM.
Storage DRS allows to manage the aggregated resources of a datastore cluster. It allows VCenter to accomplish initial placement and on-going space & load balancing of VMs across datastores in the same datastore cluster.
A typical use case is to let end user to specify a datastore cluster in Nova configuration file, so that the driver can utilize SDRS to automatically select a datastore from this datastore cluster and deploy the VM. The VM image need to be a template in VCenter, so that SDRS will automatically execute VM provisioning task.
If SDRS is not enabled, the user can also specify a datastore cluster to ask the driver select a datastore from this cluster. That can help the user to associate one Nova compute node with one datastore cluster to schedule the file placement.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Qin Zhao
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/vmware-sdrs-datastore-cluster,n,z

Addressed by: https://review.openstack.org/68864
    Deploy VM to SDRS datastore cluster (Phase 1)

-- Subbu --
Most VC deployments follow the recommendation of having a "fully connected" datastore topology. This means that all the datastores in the cluster are connected to all hosts in the cluster. See http://frankdenneman.nl/2011/10/07/partially-connected-datastore-clusters/ for more discussion around why this is recommended.

Given this I don't see value in this blueprint. For deployments following this recommendation picking any datastore amounts to placing the VM/VMDK in the SDRS cluster. For those few deployments that may be "partially connected" having a configuration like "prefer_sdrs_cluster" to turn on the placement logic to prefer a sdrs cluster might be considered.
-- Subbu --

-- Qin Zhao --
This blueprint basically has two major objectives. First, it intends to add the capability to specify a datastore cluster. The hosts in a cluster may have fully or partially connection to datastore clusters, and they may also have connection to other datastores not in a cluster. The new option can help the user to control the VMDK placement by specifying datastore and datastore cluster name both. And it is also the pre-requisite to utilize SDRS functionality.

Secondly, the blueprint intends to utilize SDRS to make VMDK placement for initial deployment, so that VCenter driver will not need to have complex algorithm to select a datastore. And it is also similar to a lot of users' habit of using VCenter.

The blueprint does not assume "fully connected" or "partially connected". The user should have adequate knowledge to setup VCenter. And the user also need to setup Nova options to address his/her needs. The blueprint just attempts to provide a way for the user to achieve that.
-- Qin Zhao --Gerrit topic: https://review.openstack.org/#q,topic:bp/vmware-sdrs-datastore-cluster,n,z

Addressed by: https://review.openstack.org/68864
    Deploy VM to SDRS datastore cluster (Phase 1)

-- Subbu --
Most VC deployments follow the recommendation of having a "fully connected" datastore topology. This means that all the datastores in the cluster are connected to all hosts in the cluster. See http://frankdenneman.nl/2011/10/07/partially-connected-datastore-clusters/ for more discussion around why this is recommended.

Given this I don't see value in this blueprint. For deployments following this recommendation picking any datastore amounts to placing the VM/VMDK in the SDRS cluster. For those few deployments that may be "partially connected" having a configuration like "prefer_sdrs_cluster" to turn on the placement logic to prefer a sdrs cluster might be considered.
-- Subbu --

-- Qin Zhao --
This blueprint basically has two major objectives. First, it intends to add the capability to specify a datastore cluster. The hosts in a cluster may have fully or partially connection to datastore clusters, and they may also have connection to other datastores not in a cluster. The new option can help the user to control the VMDK placement by specifying datastore and datastore cluster name both. And it is also the pre-requisite to utilize SDRS functionality.

Secondly, the blueprint intends to utilize SDRS to make VMDK placement for initial deployment, so that VCenter driver will not need to have complex algorithm to select a datastore. And it is also similar to a lot of users' habit of using VCenter.

The blueprint does not assume "fully connected" or "partially connected". The user should have adequate knowledge to setup VCenter. And the user also need to setup Nova options to address his/her needs. The blueprint just attempts to provide a way for the user to achieve that.
-- Qin Zhao --

If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.