yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #66012
[Bug 1705231] Re: Placement returns no allocation candidate for request that needs both compute resources and custom shared resources
Reviewed: https://review.openstack.org/485088
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=5858fb7995bb86cb976f90ba3f2712f3fd2d78fa
Submitter: Jenkins
Branch: master
commit 5858fb7995bb86cb976f90ba3f2712f3fd2d78fa
Author: Balazs Gibizer <balazs.gibizer@xxxxxxxxxxxx>
Date: Wed Jul 19 10:11:32 2017 +0200
placement: proper JOIN order for shared resources
There is an existing functional test that proves that shared non custom
resource (DISK_GB) mixed with non shared compute resources works. This
patch adds a test case where the shared resource is also a custom
resource.
An issue in the _get_all_with_shared() function where the dict of
resource to sharing resource providers that is used to construct the
JOIN chain was not being sorted so that non-shared resources were added
to the JOIN chain ahead of shared resources.
The SQL JOINs that are generated by the _get_all_with_shared() function
depend on a specific order. For non-shared resources, an INNER JOIN is
done to the preceding derived query whereas for shared resources, a
LEFT JOIN is done.
If we do the LEFT JOIN followed by INNER JOINs, the SQL expression will
produce an incorrect projection.
Fixes-bug: #1705231
Co-Authored-By: Chris Dent <cdent@xxxxxxxxxxxxx>
Co-Authored-By: Jay Pipes <jaypipes@xxxxxxxx>
Change-Id: If47c970eb57dcb81f2ce40104ceec42a92c59066
** 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/1705231
Title:
Placement returns no allocation candidate for request that needs both
compute resources and custom shared resources
Status in OpenStack Compute (nova):
Fix Released
Bug description:
When GET allocation_candidate request is sent to the placement api
with normal and custom resource requested the placement API returns no
allocation candidates.
The scenario works properly if the two resources requested are from
different providers but non of the is a custom resource.
See the functional test case reproducing the problem: https://review.openstack.org/#/c/485088
See the ML thread for the discussion: http://lists.openstack.org/pipermail/openstack-dev/2017-July/119832.html
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1705231/+subscriptions
References