[nova] implementation options for nova spec: show-server-numa-topology

yonglihe yongli.he at intel.com
Tue Dec 18 08:20:45 UTC 2018


Hi, guys

This spec needs input and discuss for move on.

Currently the spec is under reviewing:
https://review.openstack.org/#/c/612256/8

Plus with POC code:
https://review.openstack.org/#/c/621476/3

and related stein PTG discuss:
https://etherpad.openstack.org/p/nova-ptg-stein
start from line 897

NUMA topology had lots of information to expose, for saving you time to 
jumping into to the spec, the information need to
return include NUMA related like: 
numa_node,cpu_pinning,cpu_thread_policy,cpuset,siblings, 
mem,pagesize,sockets,cores,
threads, and PCI device's information.

Base on IRC's discuss, we may have 3 options about how to deal with 
those blobs:

1) include those directly in the server response details, like the 
released POC does:
https://review.openstack.org/#/c/621476/3

2) add a new sub-resource endpoint to servers, most likely use key word 
'topology' then:
"GET /servers/{server_id}/topology" returns the NUMA information for one 
server.

3) put the NUMA info under existing 'diagnostics' API.
"GET /servers/{server_id}/diagnostics"
this is admin only API, normal user loss the possible to check their 
topology.

when the information put into diagnostics, they will be look like:
{
    ....
    "numa_topology": {
       cells  [
                {
                     "numa_node" : 3
                     "cpu_pinning": {0:5, 1:6},
                     "cpu_thread_policy": "prefer",
                     "cpuset": [0,1,2,3],
                     "siblings": [[0,1],[2,3]],
                     "mem": 1024,
                     "pagesize": 4096,
                     "sockets": 0,
                     "cores": 2,
                      "threads": 2,
                  },
              ...
            ] # cells
     }
     "emulator_threads_policy": "share"

     "pci_devices": [
         {
                 "address":"00:1a.0",
                 "type": "VF",
                 "vendor": "8086",
                 "product": "1526"
         },
     ]
  }


Regards
Yongli He




More information about the openstack-discuss mailing list