----- Original Message -----
From: "ybronhei" ybronhei@redhat.com To: "Barak Azulay" bazulay@redhat.com Cc: "engine-devel" engine-devel@ovirt.org, "VDSM Project Development" vdsm-devel@lists.fedorahosted.org Sent: Sunday, December 16, 2012 12:04:32 PM Subject: Re: [vdsm] [Engine-devel] Host bios information
On 12/16/2012 06:24 PM, Barak Azulay wrote:
----- Original Message -----
From: "Ayal Baron" abaron@redhat.com To: "Saggi Mizrahi" smizrahi@redhat.com Cc: "VDSM Project Development" vdsm-devel@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@redhat.com To: "Saggi Mizrahi" smizrahi@redhat.com Cc: "VDSM Project Development" vdsm-devel@lists.fedorahosted.org, "Shu Ming" shuming@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:
- 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
I think we are still missing some information even for the smaller subset - eg asset tag
James can you do a little research with our oem partners and see which makes sense
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@linux.vnet.ibm.com > To: "ybronhei" ybronhei@redhat.com > Cc: "VDSM Project Development" > vdsm-devel@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@cn.ibm.com > or > shuming@linux.vnet.ibm.com > Address: 3/F Ring Building, ZhongGuanCun Software Park, > Haidian > District, Beijing 100193, PRC > > > _______________________________________________ > vdsm-devel mailing list > vdsm-devel@lists.fedorahosted.org > https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel > _______________________________________________ vdsm-devel mailing list vdsm-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel
vdsm-devel mailing list vdsm-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel
Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
-- Yaniv Bronhaim. RedHat, Israel 09-7692289 054-7744187 _______________________________________________ vdsm-devel mailing list vdsm-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel