SRIOV pci_numa_policy dosen't working when create instance with 'cpu_policy' and 'num_nodes'

Bug #1824048 reported by Li Zhouzhou
This bug report is a duplicate of:  Bug #1805891: pci numa polices are not followed. Edit Remove
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
New
Undecided
Li Zhouzhou

Bug Description

Description
===========
When we create a sriov instance, which flavor has 'cpu_policy', 'numa_nodes' property, it's also has 'pci_numa_policy=preferred' property that indicate we are able to allocate pci devices and vcpu in different numa node.
However, in some cases, it didn't work, because the fake pci request, which produced by nova flavor and [pci] alias in nova.conf hasn't write related information (such as pci_numa_policy, alias_name and some spec info) into real pci_requests (which contain port_id). So, in nova/pci/stats.py function 'def _filter_pools_for_numa_cells', there will filter all pci devices.

Environment
===========
Openstack Queen
compute node information: Two numa nodes(node-0 node-1), SRIOV-PCI devices associated with NUMA node-1, but cpus of node-1 have run out.

Steps to reproduce
==================
nova.conf
[pci]
alias = {"name": "QuickAssist","product_id": "10ed","vendor_id": "8086","device_type": "type-VF","numa_policy": "preferred"}

nova flavor
+----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| disk | 20 |
| extra_specs | {"hw:pci_numa_policy": "preferred", "hw:cpu_policy": "dedicated", "hw:numa_nodes": "1", "hw:cpu_cores": "4", "pci_passthrough:alias": "QuickAssist:1"} |
| id | 430e1afd-a72b-41c6-b9b2-ea9b6aa9f037 |
| name | multiqueue |
| os-flavor-access:is_public | True |
| ram | 2048 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 4 |
+----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

neutron port: one or some 'direct' ports;

Expected result
===============
The instance could be created.

Actual result
=============
Schedule failed.

Li Zhouzhou (lizhouzhou)
Changed in nova:
assignee: nobody → Li Zhouzhou (lizhouzhou)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/651429

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (stable/queens)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: stable/queens
Review: https://review.opendev.org/651429
Reason: The bug was duplicated against bug 1805891 and I haven't seen a response so I don't know if this is valid for queens but I'm going to assume it's not so will abandon.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.