Compute resource tracker does not report correct information for drivers such as vSphere
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
In Progress
|
Medium
|
Radoslav Gerganov |
Bug Description
The compute resource tracker is ignoring values coming from compute drivers such as vSphere. Specifically, the resource tracker is accepting disk_total from the driver, but not disk_available and disk_used.
We've checked the vSphere driver, and the driver is indeed reporting the correct values for this.
<snip>
</snip>
It looks like a patch was made to the resource tracker @ https:/
Since vSphere is reporting the correct data, maybe someone can tell us why Nova is ignoring these values and provide us with some guidance on correcting the problem in the driver, if that's where the change is needed.
This is affecting our production environment because I use upstream code and I have clusters that get overcommitted as a direct result of the scheduler seeing that no disk is "used"
This should get extreme priority since it affects the ability to launch things!!!
In https:/ /review. openstack. org/#/c/ 441543/ a new virt driver method, get_inventory(), was added that ought to be able to help this problem once implemented in the vmwareapi virt driver. This will allow the disk, memory, etc to express a "real" "total" and a "reserved" value which represents any resources that are consumed by anything that nova does not track (e.g. pre-existing vms).
When get_inventory is used, it allows the virt driver to become authoritative for Inventory information. Anything that get_inventory doesn't provide falls back to the old way. The libvirt of get_inventory has a bit more information: https:/ /review. openstack. org/#/c/ 457782/
So I would guess that the way forward here is to provide a get_inventory method in the vmwareapi driver. If you can do that Jay Jahns, great, please say so. If not you, then I guess it will be me or Rado Gerganov.