Merge "Test allocation_candidates with only sharing RPs"
This commit is contained in:
commit
c299fcf495
@ -531,3 +531,50 @@ class AllocationCandidatesTestCase(test.NoDBTestCase):
|
|||||||
]
|
]
|
||||||
|
|
||||||
self._validate_allocation_requests(expected, alloc_cands)
|
self._validate_allocation_requests(expected, alloc_cands)
|
||||||
|
|
||||||
|
def test_all_sharing_providers(self):
|
||||||
|
ss1 = self._create_provider('ss1', uuids.agg1)
|
||||||
|
_set_traits(ss1, "MISC_SHARES_VIA_AGGREGATE")
|
||||||
|
_add_inventory(ss1, fields.ResourceClass.IPV4_ADDRESS, 24)
|
||||||
|
_add_inventory(ss1, fields.ResourceClass.SRIOV_NET_VF, 16)
|
||||||
|
_add_inventory(ss1, fields.ResourceClass.DISK_GB, 1600)
|
||||||
|
|
||||||
|
ss2 = self._create_provider('ss2', uuids.agg1)
|
||||||
|
_set_traits(ss2, "MISC_SHARES_VIA_AGGREGATE")
|
||||||
|
_add_inventory(ss2, fields.ResourceClass.DISK_GB, 1600)
|
||||||
|
|
||||||
|
alloc_cands = self._get_allocation_candidates(
|
||||||
|
resources={
|
||||||
|
'IPV4_ADDRESS': 2,
|
||||||
|
'SRIOV_NET_VF': 1,
|
||||||
|
'DISK_GB': 1500,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO(efried): Bug https://bugs.launchpad.net/nova/+bug/1730730
|
||||||
|
# We expect two candidates: one that gets all the resources from ss1;
|
||||||
|
# and one that gets the DISK_GB from ss2 and the rest from ss1:
|
||||||
|
# expected = [
|
||||||
|
# [('ss1', fields.ResourceClass.IPV4_ADDRESS, 2),
|
||||||
|
# ('ss1', fields.ResourceClass.SRIOV_NET_VF, 1),
|
||||||
|
# ('ss1', fields.ResourceClass.DISK_GB, 1500)],
|
||||||
|
# [('ss1', fields.ResourceClass.IPV4_ADDRESS, 2),
|
||||||
|
# ('ss1', fields.ResourceClass.SRIOV_NET_VF, 1),
|
||||||
|
# ('ss2', fields.ResourceClass.DISK_GB, 1500)],
|
||||||
|
# ]
|
||||||
|
# But here's what we're actually seeing:
|
||||||
|
# One with all the resources coming from ss1
|
||||||
|
expected = [
|
||||||
|
[('ss1', fields.ResourceClass.IPV4_ADDRESS, 2),
|
||||||
|
('ss1', fields.ResourceClass.SRIOV_NET_VF, 1),
|
||||||
|
('ss1', fields.ResourceClass.DISK_GB, 1500)],
|
||||||
|
# One with the DISK_GB coming from ss2 and IPV4_ADDRESS coming from ss1
|
||||||
|
[('ss1', fields.ResourceClass.IPV4_ADDRESS, 2),
|
||||||
|
('ss2', fields.ResourceClass.DISK_GB, 1500)],
|
||||||
|
# One with the DISK_GB coming from ss2 and SRIOV_NET_VF coming from ss1
|
||||||
|
[('ss1', fields.ResourceClass.SRIOV_NET_VF, 1),
|
||||||
|
('ss2', fields.ResourceClass.DISK_GB, 1500)],
|
||||||
|
# Of special brokenness are those last two, which don't even have all
|
||||||
|
# of the requested resources:
|
||||||
|
]
|
||||||
|
self._validate_allocation_requests(expected, alloc_cands)
|
||||||
|
Loading…
Reference in New Issue
Block a user