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 <[email protected]> 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 -- 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

