[Yahoo-eng-team] [Bug 1724613] Re: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places
Reviewed: https://review.openstack.org/533396 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=02e357e7c2d2ccbab0a1f6b5a807d11f1ef72d46 Submitter: Zuul Branch:master commit 02e357e7c2d2ccbab0a1f6b5a807d11f1ef72d46 Author: Tetsuro NakamuraDate: Sun Jan 14 17:09:05 2018 +0900 Fix allocation_candidates not to ignore shared RPs When both the compute node resource provider and the shared resource provider have inventory in the same resource class, AllocationCandidates.get_by_filters didn't return an AllocationRequest including the shared resource provider. To fix the bug, this patch changes the function of _alloc_candidates_with_shared() to consider resources from non-sharing providers and resources from sharing providers at the same time. Change-Id: Iaf23f35f2f9a5d27a814ef5b94abed1a8b365bc3 Closes-Bug: #1724613 Related-Bug: #1731072 ** 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/1724613 Title: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places Status in OpenStack Compute (nova): Fix Released Bug description: When both the compute node resource provider and the shared resource provider have inventory in the same resource class, AllocationCandidates.get_by_filters will not return an AllocationRequest including the shared resource provider. Example: cnrp { VCPU: 24, MEMORY_MB: 2048, DISK_GB: 16 } ssrp { DISK_GB: 32 } AllocationCandidates.get_by_filters( resources={ VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } ) Expected: allocation_requests: [ { cnrp: { VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } }, { cnrp: { VCPU: 1, MEMORY_MB: 512 } ssrp: { DISK_GB: 2 } }, ] Actual: allocation_requests: [ { cnrp: { VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } } ] I will post a review shortly that demonstrates this. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1724613/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp
[Yahoo-eng-team] [Bug 1724613] Re: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places
Per hangout, we decided this bug is valid - that we would like to get extra candidates involving shared RPs when those satisfy the request. ** Changed in: nova Status: Invalid => Confirmed -- 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/1724613 Title: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places Status in OpenStack Compute (nova): Confirmed Bug description: When both the compute node resource provider and the shared resource provider have inventory in the same resource class, AllocationCandidates.get_by_filters will not return an AllocationRequest including the shared resource provider. Example: cnrp { VCPU: 24, MEMORY_MB: 2048, DISK_GB: 16 } ssrp { DISK_GB: 32 } AllocationCandidates.get_by_filters( resources={ VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } ) Expected: allocation_requests: [ { cnrp: { VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } }, { cnrp: { VCPU: 1, MEMORY_MB: 512 } ssrp: { DISK_GB: 2 } }, ] Actual: allocation_requests: [ { cnrp: { VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } } ] I will post a review shortly that demonstrates this. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1724613/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp
[Yahoo-eng-team] [Bug 1724613] Re: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places
This is by design. Non-sharing providers that have all the resources needed in the request are used as-is and there is no attempt to create permutations of *some* the non-sharing provider's resources with those of a sharing provider. If you had, though, a second resource provider that only had VCPU and MEMORY_MB but no disk, and associated that second provider to the shared storage provider via aggregate, you would see two allocation requests, one with all resources coming from the first compute node resource provider and the other with VCPU and MEMORY_MB from the second compute node resource provider and DISK_GB from the shared storage provider. ** Changed in: nova Status: Confirmed => Invalid -- 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/1724613 Title: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places Status in OpenStack Compute (nova): Invalid Bug description: When both the compute node resource provider and the shared resource provider have inventory in the same resource class, AllocationCandidates.get_by_filters will not return an AllocationRequest including the shared resource provider. Example: cnrp { VCPU: 24, MEMORY_MB: 2048, DISK_GB: 16 } ssrp { DISK_GB: 32 } AllocationCandidates.get_by_filters( resources={ VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } ) Expected: allocation_requests: [ { cnrp: { VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } }, { cnrp: { VCPU: 1, MEMORY_MB: 512 } ssrp: { DISK_GB: 2 } }, ] Actual: allocation_requests: [ { cnrp: { VCPU: 1, MEMORY_MB: 512, DISK_GB: 2 } } ] I will post a review shortly that demonstrates this. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1724613/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp