[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