How can I find out the total number of physical cores from an entire cloud?
Hello and thanks in advance for any guidance regarding this topic..
I am currently new to OpenStack and I was wondering if there is a way to find out all the physical cores (the total number) from an OpenStack Cloud.
I am trying out a few things and I started playing with the nova python client, since nova compute sits in one place and interacts through different api's with different hypervisors (the long tree list which it supports so far, most of the well known type 1 hypervisors, be it kvm, quemu, xen, hyperv, etc.) it knows the number of physical and also virtual CPUs of all the virtual hosts (physical servers on which one has installed a type 1 hypervisor)
I am also doing a recap for myself so I apologize if I insult anyone with the details..so nova knows about all the physical cores of all virtual nodes from a cloud, or multiple clouds if you wish (different regions, etc.) and it has to know because the scheduler based on filtering has to select the most optimal one (enough cpu cores, ram, etc) to spin a VM on top of it. I tested this with nova hypervisor stats / nova hypervisor show and it shows exactly what I need.
But the problem is, there are some virutal nodes without a hypervisor on top of them, as this is necessary for a best practice not to mix them, so there are storage nodes, etc. Well now, since it does not have a hypervisor, nova wont be able to tell me about the topology of the cpu info (cores, etc.) and I need to count those as well..
Cinder cant tell me either, since it doesn't need to know about cpus, and I dont think it cares either, since its main purpose is storage. So my question is, how can I get the number of physical cpus out of the storage nodes as well, and out of all production machines which are not going to be used for instances, from an entire cloud.
One way I thought of this was to write like a small python script which can request the system info from all those that dont have a hypervisor and put it in one place, merge that with what I get from nova and I would be done, but this doesn't actually suit me very well, so I need a better solution, one that can use the openstack projects if possible or one that can be integrated with openstack..
An example would be, I have a cloud made out of 8 virtual hosts and 2 storage nodes, each of the physical server, no matter its purpose has 4 physical cores, therefore I have 40 physical cores in my cloud, with nova I can get 32, how can I get the remaining?
Thank you in advance once again