Comment 2 for bug 1718212

Revision history for this message
Matt Riedemann (mriedem) wrote :

What version of nova are you running? https://review.openstack.org/#/c/126237/ was proposed over 2 years ago and bug 1240200 was opened in 2013. So I would not consider this an extreme priority given how latent it is.

The reason https://review.openstack.org/#/c/126237/ was rejected was because of the proposed solution, which was adding a global config option to make the operator have to know if they trust the resource tracker or the virt driver. The rejection of that patch was about the solution, not saying it wasn't a problem. That was also expressed in this mailing list thread:

http://lists.openstack.org/pipermail/openstack-dev/2014-October/047849.html

From what I read, there was general favor of fixing the virt drivers to report the correct information and removing the code in the resource tracker that is being used today. The question was what other virt drivers needed to be fixed, which would require an audit and probably a blueprint. The change from Gary Kotton was abandoned as a result.

As Chris noted, I think the get_inventory() method is probably the solution here since (1) we're working toward removing, or very much slimming down, the ResourceTracker code's role in resource claims and scheduling. That's being replaced with Nova's usage of the Placement service, and the get_inventory() method feeds into that. Looking at the original bug 1240200, the issue is with reporting reserved space, which can be solved by implementing the get_inventory() method to report whatever amount of reserved VCPU/MEMORY_MB/DISK_GB is on the hypervisor. The ResourceTracker then feeds that data into the Placement service which the nova scheduler relies on for scheduling decisions.