[Engine-devel] [vdsm] Host bios information

ybronhei ybronhei at redhat.com
Sun Dec 16 17:04:32 UTC 2012


On 12/16/2012 06:24 PM, Barak Azulay wrote:
>
>
> ----- Original Message -----
>> From: "Ayal Baron" <abaron at redhat.com>
>> To: "Saggi Mizrahi" <smizrahi at redhat.com>
>> Cc: "VDSM Project Development" <vdsm-devel at lists.fedorahosted.org>
>> Sent: Friday, December 14, 2012 2:07:04 AM
>> Subject: Re: [vdsm] Host bios information
>>
>>
>>
>> ----- Original Message -----
>>>
>>>
>>> ----- Original Message -----
>>>> From: "Ayal Baron" <abaron at redhat.com>
>>>> To: "Saggi Mizrahi" <smizrahi at redhat.com>
>>>> Cc: "VDSM Project Development"
>>>> <vdsm-devel at lists.fedorahosted.org>,
>>>> "Shu Ming" <shuming at linux.vnet.ibm.com>
>>>> Sent: Thursday, December 13, 2012 11:30:56 AM
>>>> Subject: Re: [vdsm] Host bios information
>>>>
>>>>
>>>>
>>>> ----- Original Message -----
>>>>> I think that for the new current XML-RPC API it's OK to add it
>>>>> to
>>>>> the
>>>>> getVdsCaps() verb.
>>>>> For the new API I suggest moving it to it's own API. The
>>>>> smaller
>>>>> the
>>>>> APIs the easier they are to deprecate and support.
>>>>> I quite doubt the fields in getBiosInfo() will change half as
>>>>> frequently as whatever getVdsCaps() returns.
>>>>> I also kind of want to throw away getVdsCaps() and split it to
>>>>> better
>>>>> named better encapsulated methods.
>>>>
>>>> Ack.  I just don't understand why not start right now?
>>>> Any new patch should improve things at least a little.
>>>> We know getVdsCaps() is wrong so let's put the bios info (and
>>>> anything in getVdsCaps that makes sense to put with it if
>>>> relevant)
>>>> in a separate call.  Adding a call in engine to this new method
>>>> should be a no brainer, I don't think that is a good reason for
>>>> not
>>>> doing things properly in vdsm, even if we're talking about the
>>>> current API.
>>> Well, from what I know the current overhead per call is too large
>>> to
>>> mandate a lot of calls.
>>> At least that is what I've been told. If that is not an issue, do
>>> it
>>> in the XML-RPC API too.
>>
>> if you call it every 2 seconds to each host then perhaps, but
>> getVdsCaps is called in initvdsonup which is pretty rare (hours,
>> days or more) so avoiding an extra call there seems wrong to me.
>
>
> I totally agree that in the long run it is correct to add a different API on vdsm,
> However for the initial 6 bios params:
>
> 1. Host Manufacturer - Manufacturer of the host's machine and bios' vendor (e.g LENOVO)
> 2. Host Version - For each host the manufacturer gives a unique name (e.g. Lenovo T420s)
> 3. Host Product Name - ID of the product - same for all similar products (e.g 4174BH4)
> 4. Host UUID - Unique ID for each host (e.g E03DD601-5219-11CB-BB3F-892313086897)
> 5. Host Family - Type of host's CPU - (e.g Core i5)
> 6. Host Serial Number - Unique ID for host's chassis (e.g R9M4N4G)
>
> As Dan stated below, is o.k. for this specific phase to add them to getVdsCaps
>
> So I suggest:
> 1 Adding the above 6 above params to getVdsCaps
> 2 Add a new API to vdsm to retrieve host bios information - that will eventually return the entire list (current will retrieve the exact 6 params and will use the same underlying implementation)
> 3 In the future engine will start using the new API
>
> Start using the new API now on the engine side will require much more testing as it might have an influence on the host state machine.
>
> Thanks
> Barak Azulay
>
Agree,
In vdsm side as Andrew suggested we can add new xml-rpc Api that 
internally calls by getCapabilities until we will define the flow 
changes that we need to do in the engine side to permit split calls that 
fill VDS object fields.

Before we change the engine side to perform 2 calls to fill vds data, we 
need to define the flows for retrieving the data, in which table to keep 
it, and when to refresh it.
getCapabilities API call signs for the engine that the host is 
operational. By performing another API call we will get into cases that 
we've never checked and we need to define and test.

This feature can be split to 2 levels, first we have the requirement for 
6 field, and only those fields (as i mentioned in the wiki), those  can 
be added as part of host capabilities structure, in declared structure 
that defines the bios information, until we define the new api. 
Additionally, we can add vdsm API the returns only this structure for 
future use by the engine.

Anyhow, when defining new structure for bios information we can add more 
values of dmidecode in the future if the users will request for such 
info, and it won't effect the changes we add to the UI as part of this 
feature.

IMPOV, I think we should implement that feature as described now in the 
engine side. Using new vdsm API by the engine should be part of another 
feature that arranges getCapabilities variables, defines the flows of 
requesting bios variables and in which VDS table engine should store 
this data.

The engine part patches of this feature are:
http://gerrit.ovirt.org/#/c/10114/ - Modifying db tables
http://gerrit.ovirt.org/#/c/9337/ - Adding bios data to backend's objects
http://gerrit.ovirt.org/#/c/10115/ - UI changes to add host subtab for 
Bios info

vdsm part:
http://gerrit.ovirt.org/#/c/9258/ - will be modified asap to external 
structure.

I would appreciate your comments and reviews

thanks!

>>
>>>>
>>>>>
>>>>> Also, in the json-rpc base model, calls are not only cheaper,
>>>>> you
>>>>> also have batch calls. This means you can send multiple
>>>>> requests
>>>>> as
>>>>> one message and have VDSM send you the responses as one message
>>>>> once
>>>>> all tasks completed. This makes splitting aggregated methods to
>>>>> smaller methods painless and with minimal overhead.
>>>>>
>>>>> ----- Original Message -----
>>>>>> From: "Shu Ming" <shuming at linux.vnet.ibm.com>
>>>>>> To: "ybronhei" <ybronhei at redhat.com>
>>>>>> Cc: "VDSM Project Development"
>>>>>> <vdsm-devel at lists.fedorahosted.org>
>>>>>> Sent: Thursday, December 13, 2012 11:04:09 AM
>>>>>> Subject: Re: [vdsm] Host bios information
>>>>>>
>>>>>> After a quick review of the wiki page, it was stated that
>>>>>> dmidecode
>>>>>> gave
>>>>>> too much informations. Only five fields will be displayed in
>>>>>> the
>>>>>> hardware tab, "Manufactory", "Version", "Family", "UUID" and
>>>>>> "serial
>>>>>> number".  For "Family", it is mean the CPU core's family.
>>>>>>   And
>>>>>> it
>>>>>> confuses me a bit with the "CPU name" and "CPU type" fields
>>>>>> in
>>>>>> general
>>>>>> tab. I think we should chose the best one to characterizethe
>>>>>> CPU
>>>>>> type.
>>>>>>
>>>>>>
>>>>>> ybronhei:
>>>>>>> Today in the Api we display general information about the
>>>>>>> host
>>>>>>> that
>>>>>>> vdsm export by getCapabilities Api.
>>>>>>>
>>>>>>> We decided to add bios information as part of the
>>>>>>> information
>>>>>>> that
>>>>>>> is
>>>>>>> displayed in UI under host's general sub-tab.
>>>>>>>
>>>>>>> To summaries the feature - We'll modify General tab to
>>>>>>> Software
>>>>>>> Information and add another tab for Hardware Information
>>>>>>> which
>>>>>>> will
>>>>>>> include all the bios data that we'll decide to gather from
>>>>>>> the
>>>>>>> host
>>>>>>> and display.
>>>>>>>
>>>>>>> Following this feature page:
>>>>>>> http://www.ovirt.org/Features/Design/HostBiosInfo for more
>>>>>>> details.
>>>>>>> All the parameters that can be displayed are mentioned in
>>>>>>> the
>>>>>>> wiki.
>>>>>>>
>>>>>>> I would greatly appreciate your comments and questions.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> ---
>>>>>> 舒明 Shu Ming
>>>>>> Open Virtualization Engineerning; CSTL, IBM Corp.
>>>>>> Tel: 86-10-82451626  Tieline: 9051626 E-mail:
>>>>>> shuming at cn.ibm.com
>>>>>> or
>>>>>> shuming at linux.vnet.ibm.com
>>>>>> Address: 3/F Ring Building, ZhongGuanCun Software Park,
>>>>>> Haidian
>>>>>> District, Beijing 100193, PRC
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> vdsm-devel mailing list
>>>>>> vdsm-devel at lists.fedorahosted.org
>>>>>> https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel
>>>>>>
>>>>> _______________________________________________
>>>>> vdsm-devel mailing list
>>>>> vdsm-devel at lists.fedorahosted.org
>>>>> https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel
>>>>>
>>>>
>>>
>> _______________________________________________
>> vdsm-devel mailing list
>> vdsm-devel at lists.fedorahosted.org
>> https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel
>>
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel
>


-- 
Yaniv Bronhaim.
RedHat, Israel
09-7692289
054-7744187



More information about the Engine-devel mailing list