← Back to team overview

yahoo-eng-team team mailing list archive

[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