← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1771707] Re: allocation candidates with nested providers have inappropriate candidates when traits specified

 

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

commit 0a6b5676886d2fb07bdf0ae88b22f3cd3f1e2b4d
Author: Tetsuro Nakamura <nakamura.tetsuro@xxxxxxxxxxxxx>
Date:   Thu May 10 06:13:41 2018 +0900

    Add traits check in nested provider candidates
    
    This patch adds trait check in the path used in getting allocation
    candidates with nested providers creating a trait check helper
    function, _check_traits_for_alloc_request().
    
    Change-Id: I728825a03db9f6419c8f4b3fa23aef63ec8baa5e
    Blueprint: nested-resource-providers-allocation-candidates
    Closes-Bug: #1771707


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

Title:
  allocation candidates with nested providers have inappropriate
  candidates when traits specified

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  * We are setting up two compute nodes with numa node & pf nested providers.
    And only one pf from cn1 has HW_NIC_OFFLOAD_GENEVE trait.

                     compute node (cn1)
              [CPU:16, MEMORY_MB:32768]
                   /+++++++++++++++\
                  /++++++++++++++++ \
             cn1_numa0 ++++++++++++ cn1_numa1
                 | ++++++++++++++++++ |
                 | ++++++++++++++++++ |
         cn1_numa0_pf0 ++++++++++ cn1_numa1_pf1 (trait=HW_NIC_OFFLOAD_GENEVE)
      [SRIOV_NET_VF:8] ++++++++ [SRIOV_NET_VF:8]

                     compute node (cn2)
                 [CPU:16, MEMORY_MB:32768]
                  /++++++++++++++++++\
                 /+++++++++++++++++++ \
             cn2_numa0 ++++++++++++++ cn2_numa1
                | ++++++++++++++++++++ |
                | ++++++++++++++++++++ |
           cn2_numa0_pf0 ++++++++++ cn2_numa1_pf1
       [SRIOV_NET_VF:8] ++++++++ [SRIOV_NET_VF:8]

  * Next request with
      - resources={CPU: 2, MEMORY_MB: 256, SRIOV_NET_VF: 1}
      - required_traits=[HW_NIC_OFFLOAD_GENEVE]

  * The expected result is to get allocation request with only “cn1_numa1_pf1”,
  [('cn1’, fields.ResourceClass.VCPU, 2),
   ('cn1’, fields.ResourceClass.MEMORY_MB, 256),
   ('cn1_numa1_pf1’, fields.ResourceClass.SRIOV_NET_VF, 1)],

  * But actually we also get allocation request with “cn1_numa1_pf0”  from the same tree with traits.
  [('cn1’, fields.ResourceClass.VCPU, 2),
   ('cn1’, fields.ResourceClass.MEMORY_MB, 256),
   ('cn1_numa1_pf1’, fields.ResourceClass.SRIOV_NET_VF, 1)],
  [('cn1’, fields.ResourceClass.VCPU, 2),
   ('cn1’, fields.ResourceClass.MEMORY_MB, 256),
   ('cn1_numa0_pf0', fields.ResourceClass.SRIOV_NET_VF, 1)],

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


References