← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1784577] Re: Some allocation candidate tests for sharing providers fail in python 3.6 (and work in python 3.5)

 

Reviewed:  https://review.openstack.org/587700
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=0b7946f5a3dd62003bdfead068dd58bd58ed6d18
Submitter: Zuul
Branch:    master

commit 0b7946f5a3dd62003bdfead068dd58bd58ed6d18
Author: Tetsuro Nakamura <nakamura.tetsuro@xxxxxxxxxxxxx>
Date:   Tue Jul 31 19:10:56 2018 +0900

    Ensure the order of AllocationRequestResources
    
    Getting allocation candidates with sharing providers, placement
    creates a list of AllocationRequestResources to get all the
    possible combinations of resource providers in the same aggregate.
    
    However, the order of the list was arbitrary, which could cause
    a bug later in duplicate check of the combination.
    
    This patch ensures that the list is ordered by the resource
    class id.
    
    Note:
      This bug is only exposed when it is tested with python3.6,
      where order-preserving aspect is added to the dict object.
    
    Change-Id: I2e236fbbc3a4cfd3bd66d50198de643e06d62331
    Closes-Bug: #1784577


** 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/1784577

Title:
  Some allocation candidate tests for sharing providers fail in python
  3.6 (and work in python 3.5)

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  When running the nova functional tests under python 3.6 the
  nova.tests.functional.api.openstack.placement.db.test_allocation_candidates.AllocationCandidatesTestCase.test_all_sharing_providers.*
  tests (there are 3) all fail because incorrect results are produced on
  the call to rp_obj.AllocationCandidates.get_by_requests:

      b"reference = [[('ss1', 'DISK_GB', 1500),"
      b"  ('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss1', 'SRIOV_NET_VF', 1)],"
      b" [('ss1', 'DISK_GB', 1500),"
      b"  ('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss2', 'SRIOV_NET_VF', 1)],"
      b" [('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss1', 'SRIOV_NET_VF', 1),"
      b"  ('ss2', 'DISK_GB', 1500)],"
      b" [('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss2', 'DISK_GB', 1500),"
      b"  ('ss2', 'SRIOV_NET_VF', 1)]]"
      b"actual    = [[('ss1', 'DISK_GB', 1500),"
      b"  ('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss1', 'SRIOV_NET_VF', 1)],"
      b" [('ss1', 'DISK_GB', 1500),"
      b"  ('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss2', 'SRIOV_NET_VF', 1)],"
      b" [('ss1', 'DISK_GB', 1500),"
      b"  ('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss2', 'SRIOV_NET_VF', 1)],"
      b" [('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss1', 'SRIOV_NET_VF', 1),"
      b"  ('ss2', 'DISK_GB', 1500)],"
      b" [('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss2', 'DISK_GB', 1500),"
      b"  ('ss2', 'SRIOV_NET_VF', 1)],"
      b" [('ss1', 'IPV4_ADDRESS', 2),"
      b"  ('ss2', 'DISK_GB', 1500),"
      b"  ('ss2', 'SRIOV_NET_VF', 1)]]"

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1784577/+subscriptions


References