[Kimchi-devel] [PATCH] [Ginger-Base 0/1] Issue 728 - Processor Info in s390 architecture

Aline Manera alinefm at linux.vnet.ibm.com
Mon Nov 23 18:55:37 UTC 2015


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.

*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?

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(-)
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20151123/0d17ce55/attachment.html>


More information about the Kimchi-devel mailing list