RFE: Choose VMware datastore in dependence of the provisioned space

Bug #1643569 reported by Christian Berendt
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Triaged
Wishlist
Unassigned
oslo.vmware
Fix Released
Wishlist
int32bit

Bug Description

At the moment the _select_datastore method in the VMware driver chooses the in dependence of the free space. The datastore with the most free space will be chosen for a new instance.

On of our customers want to place new instances on the datastore with the less provisioned space and not the one with the most free space.

The amount of provisioned space is not directly provided by the VMware API and has to be calculated by using the capacity, the free space and the uncommitted bytes of the datastore. provisionedSpace = Capacity - freeSpace - uncommitted.

Following changes are necessary to support the selection of a datastore in dependence of the provisioned space:

* The uncommitted property is not requested by the get_datastore method. The get_datastore method hast to request the uncommitted property.

* The Datastore class does not provide a keyword argument for the amount of provisioned space. A provisioned space keyword argument has to be added to the Datastore class.

* The _select_datastore method has to calculate the provisioned space of a datastore.

* A new configuration parameter datastore_allocation_type with 'provisionedSpace' and 'freeSpace' as choices has to be introduced. The default value should be 'freeSpace' to not change the default behaviour of the _select_datastore method.

* When datastore_allocation_type is set to 'provisionedSpace' then the provisionedSpace will be compared instead of the freeSpace and the datastore with the lowest value for provisionedSpace will be chosen.

Tags: vmware
Matt Riedemann (mriedem)
Changed in nova:
importance: Undecided → Wishlist
summary: - Choose VMware datastore in dependence of the provisioned space
+ RFE: Choose VMware datastore in dependence of the provisioned space
int32bit (int32bit)
Changed in nova:
assignee: nobody → int32bit (int32bit)
Revision history for this message
int32bit (int32bit) wrote :

Add 'uncommitted' field to the 'Datastore' class

The 'uncommitted' field is in official API, but not in our Datastore
class, we need it to compute the amount of provisioned space:

provisionedSpace = Capacity - freeSpace - uncommitted

So a `uncommitted` keyword argument has to be added to the Datastore
class.

affects: nova → oslo.vmware
Changed in nova:
assignee: nobody → int32bit (int32bit)
int32bit (int32bit)
Changed in nova:
status: New → In Progress
Changed in oslo.vmware:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/402632

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/oslo.vmware 2.16.0

This issue was fixed in the openstack/oslo.vmware 2.16.0 release.

Changed in oslo.vmware:
status: In Progress → Fix Released
Changed in nova:
assignee: int32bit (int32bit) → Christian Berendt (berendt)
Changed in nova:
assignee: Christian Berendt (berendt) → David Rabel (rabel-b1)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: master
Review: https://review.opendev.org/402632

Matt Riedemann (mriedem)
Changed in nova:
status: In Progress → New
assignee: David Rabel (rabel-b1) → nobody
importance: Undecided → Wishlist
status: New → Triaged
tags: added: vmware
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.