Reviewed: https://review.openstack.org/578133 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=8ad33cf8553d9bb52d5b2bcab20cb5bef840aee2 Submitter: Zuul Branch: master
commit 8ad33cf8553d9bb52d5b2bcab20cb5bef840aee2 Author: Chris Dent <[email protected]> Date: Tue Jun 26 16:26:40 2018 +0100 [placement] Fix capacity tracking in POST /allocations Add a change to _check_capacity_exceeded to also compare the amount needed by a given allocation to a running total of amounts needed against this class of resource on this resource provider. Change-Id: Id8dde9a1f4b62112925616dfa54e77704109481c Closes-Bug: #1778743 ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1778743 Title: When POSTing to /allocations with multiple consumers it is possible violate inventory capacity constraints Status in OpenStack Compute (nova): Fix Released Bug description: This is using microversion 1.28 of the placement API. I will start the process of finding when this went wrong after submitting this bug. I'm guessing at the start of POST to /allocations, but we'll see. When a POST to /allocations contains multiple consumers each writing some of their allocations to the same consumer, it is possible to "beat" the inventory constraints. In the gabbi test at http://paste.openstack.org/show/724317/ a resource provider is created with an inventory of 2 VCPU. A POST is then made to /allocations with three different consumers, each asking for 1 VCPU. This works, and it should not because we then end up with a usage of 3 VCPU. I found this while trying to chase some issues with consumer generations and allocations and fell into this hole. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1778743/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

