On Thu, Oct 21, 2010 at 09:52:51PM +0200, Daniel Veillard wrote:
The SMBIOS data are a standardized set of data structures available
in the BIOS area of PCs. Those blocks of data describe things like
BIOS version informations, machine vendor, model and identifiers,
as well as various parts of the machine capability. On a linux
machine running dmidecode allows to dump those informations.
Spec available at the DMTF:
http://dmtf.org/standards/smbios
From a virtualization POV, it's mostly the first block describing
the BIOS named "type 0" and the second block describing the machine
named "type 1" which are of interest. Those data are usually accessed
either from the OS or from management application, and being able to
override the default setings may be needed for such management.
The suggested XML description follows the logical structure of the
data, one top smbios description, with one or more blocks, each
containing the entries, the example below gives an idea:
<smbios>
<table type="0">
<entry name="Vendor">QEmu/KVM</entry>
<entry name="Version">0.13</entry>
</table>
<table type="1">
<entry name="Manufacturer">Fedora</entry>
<entry name="Product">Virt-Manager</entry>
<entry name="Version">0.8.2-3.fc14</entry>
<entry name="UUID">c7a5fdbdedaf9455926ad65c16db1809</entry>
</table>
</smbios>
I've never really been a fan of the idea of including SMBios
data in the XML because it is an x86 specific concept, which
only works with HVM guests & the type=1/2/3 is rather opaque
in meaning.
I can't help thinking that we should define a set of general
metadata tags, and then have a internal mapping of those to
SMBIOS fields, in the same way that the <uuid> is automatically
mapped to SMBIOS.
eg, define a set of metadata like this:
<metadata>
<bios-vendor>SeaBIOS</bios-vendor>
<bios-version>0.13</bios-version>
<system-manufacturer>Fedora</system-manufacturer>
<system-product>KVM</system-product>
<system-version>0.8.2</system-version>
<system-uuid>c7a5fdbdedaf9455926ad65c16db1809</system-uuid>
</metadata>
And for smbios just indicate what the source of the data is:
<smbios mode="host|emulate"/>
host - copy from host SMBIOS
emulate - generic emulator settings + metadata overrides
This would map better to what VMWare is letting you do, and let us expose
the metadata through other non-SMBIOS data channels
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|