To add the NUMA topology in gophercloud#1833
To add the NUMA topology in gophercloud#1833sana-aawan wants to merge 4 commits intogophercloud:masterfrom
Conversation
|
Build failed.
|
|
@sana-aawan Thank you for submitting this. Per our contributor tutorial, we'll need to see where this structure is defined in the Introspection API. See here for more details. In addition, can you add some unit tests using real API results as fixtures? Please let me know if you have any questions. |
|
Build succeeded.
|
jtopjian
left a comment
There was a problem hiding this comment.
@sana-aawan Thank you again for working on this. Please see the comment and let me know if you have any questions or need any help.
| } | ||
|
|
||
| func TestNumaTopology(t *testing.T) { | ||
| numatopology := `{ |
There was a problem hiding this comment.
Instead of having the JSON fixture embedded in the test function, it should go in the fixtures.go file.
Also, can you confirm that this fixture was pulled from a running installation/environment either from a production environment or devstack? You should be able to pull this data by using the --debug flag in most openstack tools, but I'm not familiar with the introspection service to know if it supports --debug.
… test the details for the same in gophercloud
|
Build succeeded.
|
|
@sana-aawan I've opened a new PR with everything cleaned up: #1842. |
|
Build succeeded.
|
|
Implemented in #1842 |
For #1825
API for introspection is already implemented, this structure will store NUMA details that we will receive from introspection.
Below is the sample introspection data for NUMA Topology that is received from ironic-inspector after baremetal introspection of a node -:
"numa_topology": {
"nics": [{
"numa_node": 0,
"name": "p2p1"
}, {
"numa_node": 0,
"name": "p2p2"
}, {
"numa_node": 0,
"name": "p1p2"
}],
"ram": [{
"numa_node": 0,
"size_kb": 99289532
}, {
"numa_node": 1,
"size_kb": 100663296
}],
"cpus": [{
"numa_node": 1,
"thread_siblings": [3, 27],
"cpu": 6
}, {
"numa_node": 0,
"thread_siblings": [20, 44],
"cpu": 10
}, {
"numa_node": 0,
"thread_siblings": [8, 32],
"cpu": 3
}, {
"numa_node": 1,
"thread_siblings": [23, 47],
"cpu": 11
}]
}
Gophercloud is introspecting the baremetal-nodes and storing the introspection data in the respective pre-defined structures. There is no structure defined for details like, NUMA topology that we receive from Ironic introspection. To fetch the NUMA details for further use, we recommend adding the NUMA topology structure in the Gophercloud.