[Kimchi-devel] [PATCH] [Ginger-Base 0/1] Issue 728 - Processor Info in s390 architecture
Suresh Babu Angadi
sureshab at linux.vnet.ibm.com
Tue Nov 24 08:26:37 UTC 2015
On 11/24/2015 12:25 AM, Aline Manera wrote:
>
> Hi Suresh,
>
> We should keep the API consistent across platforms, that means if the
> 'memory' parameter is a 'string' in one platform we should be a string
> across all them.
>
> With this patch, we will have different results depend on arch, which
> make hard on how to expect from the output.
>
> For x86, we will have: 'cpus' as a dict and 'memory' as a number
> {
> "cpus":{
> "offline":0,
> "online":4
> },
> "memory":7933902848
> }
>
> For s390x, we will have 'cpus' as 'memory' as a dict.
>
> {
> "cpus":{
> "shared":2,
> "offline":2,
> "dedicated":0,
> "online":2
> },
> "memory":{
> "offline":2147483648,
> "online":2147483648
> },
> "virtualization":{
> "lpar_name":"CSTLIN1",
> "hypervisor":"PR/SM",
> "lpar_number":55,
> "hypervisor_vendor":"IBM"
> }
> }
>
> And for ppc, we will have 'cpus' and 'memory' as a number.
> {
> "cpus":<cpu count>,
> "memory":<memory>
> }
>
> My suggestion is to user dict for 'memory' and 'cpus' for all both
> platforms.
>
> *For 'memory':*
>
> memory: {online: ..., offline:...}
>
> By 'online' memory, do you mean the memory current in the host? If so,
> we can use those 2 values for all the platforms and assume to total
> memory as online and 0 (zero) for offline memory for x86 and ppc.
Hi Aline,
Yes, I agree with your suggestion. Only s390x will have online and
offline memory, for x86 and ppc - it is total memory in host, will keep
offline memory as zero for x86 and ppc.
>
> *For 'cpus':*
>
> cpus: {online: ..., offline: ..., shared:..., dedicated:...}
>
> shared and dedicated only make sense for s390x, but online and offline
> make sense for all the platforms so we can use them overall.
>
> What do you think about it?
Agreed. I am currently using lscpu o/p to fetch total cpus and
difference of total cpus and online cpus(fetched using psutil) will be
taken as offline cpus.
I searched in google for sample lscpu o/p in ppc, it has CPU(s) field in
lscpu which is the total cpu count. Please let me know if it doesn't
provide this information in lscpu, otherwise we are good here.
===sample lscpu o/p of linux on ppc====
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 4
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Model: IBM,8233-E8B
L1d cache: 32K
L1i cache: 32K
NUMA node0 CPU(s): 0-15
........
.......
>
> Regards,
> Aline Manera
>
> On 23/11/2015 10:03, sureshab at linux.vnet.ibm.com wrote:
>> From: Suresh Babu Angadi<sureshab at in.ibm.com>
>>
>> As per RFC mail thread -
>> [Kimchi-devel] RFC - #728 - Processor Info in s390 architecture
>> this patch set adds functionality in back-end to add
>> architecture, and host name(for all architecture),
>> split CPUs to online and offline(x86, s390x),
>> additional virtualization details(for s390x)
>>
>> Note: Subsequent patch set for UI changes will follow
>> to accommodate these changes
>>
>> Test Cases Executed:
>> ====================
>> 1) On x86 machine:
>> curl -k -u suresh -H "Content-Type: application/json" -H "Accept: application/json" -X GET 'https://127.0.0.1:8001/plugins/gingerbase/host'
>> {
>> "os_distro":"Fedora",
>> "cpus":{
>> "offline":0,
>> "online":4
>> },
>> "cpu_model":"Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz",
>> "os_version":"21",
>> "host":"localhost.localdomain",
>> "os_codename":"Twenty One",
>> "architecture":"x86_64",
>> "memory":7933902848
>> }
>>
>> 2) On s390x machine:
>> curl -k -u root -H "Content-Type: application/json" -H "Accept: application/json" -X GET 'https://127.0.0.1:8001/plugins/gingerbase/host'
>> {
>> "os_distro":"KVM for IBM z Systems",
>> "cpus":{
>> "shared":2,
>> "offline":2,
>> "dedicated":0,
>> "online":2
>> },
>> "cpu_model":"IBM/2827/743 H43",
>> "os_version":"1.1.1",
>> "host":"zfwcec103",
>> "os_codename":"Z",
>> "architecture":"s390x",
>> "memory":{
>> "offline":2147483648,
>> "online":2147483648
>> },
>> "virtualization":{
>> "lpar_name":"CSTLIN1",
>> "hypervisor":"PR/SM",
>> "lpar_number":55,
>> "hypervisor_vendor":"IBM"
>> }
>> }
>>
>> 3) For Power(Expected Output):
>> {
>> "os_distro":<os distro>,
>> "cpus":<cpu count>,
>> "cpu_model":<cpu model>,
>> "os_version":<os version>,
>> "host":<host name>,
>> "os_codename":<os codename>,
>> "architecture":"ppc",
>> "memory":<memory>
>> }
>>
>>
>> Suresh Babu Angadi (1):
>> Fix for issue 728: processor info displays blank for system z this
>> patch set also adds additional capability: retrieving
>> architecture and host name (for all architecture) split CPUs to
>> show online and offline cpus(for x86 and s390x) split memory to
>> show online and offline memory(for s390x) additional
>> virtualization details(for s390x): virtualization will have
>> hypervisor details and lpar details
>>
>> src/wok/plugins/gingerbase/docs/API.md | 22 ++-
>> src/wok/plugins/gingerbase/i18n.py | 1 +
>> src/wok/plugins/gingerbase/lscpu.py | 59 ++++++
>> src/wok/plugins/gingerbase/model/host.py | 256 +++++++++++++++++++++++---
>> src/wok/plugins/gingerbase/tests/test_host.py | 12 +-
>> 5 files changed, 320 insertions(+), 30 deletions(-)
>>
>
--
Regards,
Suresh Babu Angadi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20151124/93404d3e/attachment.html>
More information about the Kimchi-devel
mailing list