From: Daniel Veillard Date: Mon, 10 Jul 2006 13:13:39 +0000 (+0000) Subject: * docs/format.html docs/libvir.html docs/news.html: updated the XML X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0cf5ee232525d924d4bd2046c62779ef282eeece;p=libvirt.git * docs/format.html docs/libvir.html docs/news.html: updated the XML format documentation to cover the new HVM domains. Daniel --- diff --git a/ChangeLog b/ChangeLog index 79cd78bdc3..a9b6cbb2a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 10 14:19:52 CEST 2006 Daniel Veillard + + * docs/format.html docs/libvir.html docs/news.html: updated the XML + format documentation to cover the new HVM domains. + Mon Jul 10 12:27:17 CEST 2006 Daniel Veillard * src/xend_internal.c src/xml.c: patches from Jim Fehlig for HVM diff --git a/NEWS b/NEWS index bb26f8caaa..aab22611bb 100644 --- a/NEWS +++ b/NEWS @@ -6,34 +6,24 @@ Releases 0.1.2: Jul 3 2006: - - headers include paths fixup - - - proxy mechanism for unpriviledged read-only access by httpu - + - headers include paths fixup + - proxy mechanism for unpriviledged read-only access by httpu 0.1.1: Jun 21 2006: - - building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. - Berrange) - - - driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. - Berrange) - - - Cope with API change introduced in Xen changeset 10277 - - - new test driver for regression checks (Daniel P. Berrange) - - - improvements: added UUID to XML serialization, buffer usage (Karel Zak), - --connect argument to virsh (Daniel P. Berrange), - - - bug fixes: uninitialized memory access in error reporting, S-Expr - parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO - in xs_internal.c - - - documentation: Python examples (David Lutterkort), new Perl binding URL, - man page update (Karel Zak) - - + - building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. + Berrange) + - driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. + Berrange) + - Cope with API change introduced in Xen changeset 10277 + - new test driver for regression checks (Daniel P. Berrange) + - improvements: added UUID to XML serialization, buffer usage (Karel + Zak), --connect argument to virsh (Daniel P. Berrange), + - bug fixes: uninitialized memory access in error reporting, S-Expr + parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in + xs_internal.c + - documentation: Python examples (David Lutterkort), new Perl binding + URL, man page update (Karel Zak) 0.1.0: Apr 10 2006: @@ -45,7 +35,7 @@ Releases - internal code cleanup: refactoring internals into a driver model, more error handling, structure sharing, thread safety and ref counting - bug fixes: error message (Jim Meyering), error allocation in virsh (Jim - Meyering), virDomainLookupByID (Jim Fehlig), + Meyering), virDomainLookupByID (Jim Fehlig), - documentation: updates on architecture, and format, typo fix (Jim Meyering) - bindings: exception handling in examples (Jim Meyering), perl ones out diff --git a/docs/format.html b/docs/format.html index 988ad997d7..ba5c652920 100644 --- a/docs/format.html +++ b/docs/format.html @@ -1,6 +1,10 @@ -XML Format

XML Format

The library use an XML format to describe domains, as input to virDomainCreateLinux() +XML Format

XML Format

This section describes the XML format used to represent domains, there are +variations on the format based on the kind of domains run and the options +used to launch them:

Normal paravirtualized Xen domains

Fully virtualized Xen domains

The formats try as much as possible to follow the same structure and reuse +elements and attributes where it makes sense.

Normal paravirtualized Xen +guests:

The library use an XML format to describe domains, as input to virDomainCreateLinux() and as the output of virDomainGetXMLDesc(), the following is an example of the format as returned by the shell command virsh xmldump fc4 , where fc4 was one of the running domains:

<domain type='xen' id='18'>
@@ -81,4 +85,48 @@ poweroff. There is various actions possible when this happen:

  • destroy ... </domain>

While the format may be extended in various ways as support for more hypervisor types and features are added, it is expected that this core subset -will remain functional in spite of the evolution of the library.

+will remain functional in spite of the evolution of the library.

Fully virtualized guests +(added in 0.1.3):

Here is an example of a domain description used to start an fully +virtualized (a.k.a. HVM) Xen domain. This requires hardware virtualization +support at the processor level but allows to run unmodified operating +systems:

<domain type='xen' id='3'>
+  <name>fv0</name>
+  <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
+  <os>
+    <type>hvm</type>
+    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <boot dev='hda'/>
+  </os>
+  <memory>524288</memory>
+  <vcpu>1</vcpu>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
+    <interface type='bridge'>
+      <source bridge='xenbr0'/>
+      <mac address='00:16:3e:5d:c7:9e'/>
+      <script path='vif-bridge'/>
+    </interface>
+    <disk type='file'>
+      <source file='/root/fv0'/>
+      <target dev='ioemu:hda'/>
+    </disk>
+    <graphics type='vnc'/>
+  </devices>
+</domain>

There is a few things to notice specifically for HVM domains:

  • the <os> block description is very different, first it indicates + that the type is 'hvm' for hardware virtualization, then instead of a + kernel, boot and command line arguments, it points to an os boot loader + which ill extract the boot informations from the boot device specified in + a separate boot element
  • +
  • the <devices> section includes an emulator entry pointing to an + additional program in charge of emulating the devices
  • +
  • the disk entry indicates in the dev target section that the emulation + for the drive is the first IDE disk device hda
  • +
  • the <devices> section also include at least one entry for the + graphic device used to render the os. Currently there is just 2 types + possible 'vnc' or 'sdl'
  • +

It is likely that the HVM description gets additional elements and +attributes as the support for fully virtualized domain expands especially for +the kind of devices emulated and the graphic options offered.

diff --git a/docs/libvir.html b/docs/libvir.html index 2f64c86208..a73a800fe3 100644 --- a/docs/libvir.html +++ b/docs/libvir.html @@ -35,26 +35,27 @@ and check the ChangeLog to gauge progresses.

0.1.2: Jul 3 2006

    -
  • headers include paths fixup -
  • proxy mechanism for unpriviledged read-only access by httpu +
  • headers include paths fixup
  • +
  • proxy mechanism for unpriviledged read-only access by httpu
+

0.1.1: Jun 21 2006

    -
  • building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. - Berrange) -
  • driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. - Berrange) -
  • Cope with API change introduced in Xen changeset 10277 -
  • new test driver for regression checks (Daniel P. Berrange) -
  • improvements: added UUID to XML serialization, buffer usage (Karel Zak), - --connect argument to virsh (Daniel P. Berrange), -
  • bug fixes: uninitialized memory access in error reporting, S-Expr - parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO - in xs_internal.c -
  • documentation: Python examples (David Lutterkort), new Perl binding URL, - man page update (Karel Zak) - +
  • building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. + Berrange)
  • +
  • driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. + Berrange)
  • +
  • Cope with API change introduced in Xen changeset 10277
  • +
  • new test driver for regression checks (Daniel P. Berrange)
  • +
  • improvements: added UUID to XML serialization, buffer usage (Karel + Zak), --connect argument to virsh (Daniel P. Berrange),
  • +
  • bug fixes: uninitialized memory access in error reporting, S-Expr + parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in + xs_internal.c
  • +
  • documentation: Python examples (David Lutterkort), new Perl binding + URL, man page update (Karel Zak)
+

0.1.0: Apr 10 2006

  • building fixes: --with-xen-distdir option (Ronald Aigner), out of tree @@ -65,7 +66,7 @@ and check the ChangeLog to gauge progresses.

  • internal code cleanup: refactoring internals into a driver model, more error handling, structure sharing, thread safety and ref counting
  • bug fixes: error message (Jim Meyering), error allocation in virsh (Jim - Meyering), virDomainLookupByID (Jim Fehlig),
  • + Meyering), virDomainLookupByID (Jim Fehlig),
  • documentation: updates on architecture, and format, typo fix (Jim Meyering)
  • bindings: exception handling in examples (Jim Meyering), perl ones out @@ -267,6 +268,20 @@ available except commiting to the base.

    XML Format

    +

    This section describes the XML format used to represent domains, there are +variations on the format based on the kind of domains run and the options +used to launch them:

    + +

    Normal paravirtualized Xen domains

    + +

    Fully virtualized Xen domains

    + +

    The formats try as much as possible to follow the same structure and reuse +elements and attributes where it makes sense.

    + +

    Normal paravirtualized Xen +guests:

    +

    The library use an XML format to describe domains, as input to virDomainCreateLinux() and as the output of hypervisor types and features are added, it is expected that this core subset will remain functional in spite of the evolution of the library.

    +

    Fully virtualized guests +(added in 0.1.3):

    + +

    Here is an example of a domain description used to start an fully +virtualized (a.k.a. HVM) Xen domain. This requires hardware virtualization +support at the processor level but allows to run unmodified operating +systems:

    +
    <domain type='xen' id='3'>
    +  <name>fv0</name>
    +  <uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
    +  <os>
    +    <type>hvm</type>
    +    <loader>/usr/lib/xen/boot/hvmloader</loader>
    +    <boot dev='hda'/>
    +  </os>
    +  <memory>524288</memory>
    +  <vcpu>1</vcpu>
    +  <on_poweroff>destroy</on_poweroff>
    +  <on_reboot>restart</on_reboot>
    +  <on_crash>restart</on_crash>
    +  <devices>
    +    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
    +    <interface type='bridge'>
    +      <source bridge='xenbr0'/>
    +      <mac address='00:16:3e:5d:c7:9e'/>
    +      <script path='vif-bridge'/>
    +    </interface>
    +    <disk type='file'>
    +      <source file='/root/fv0'/>
    +      <target dev='ioemu:hda'/>
    +    </disk>
    +    <graphics type='vnc'/>
    +  </devices>
    +</domain>
    + +

    There is a few things to notice specifically for HVM domains:

    +
      +
    • the <os> block description is very different, first it indicates + that the type is 'hvm' for hardware virtualization, then instead of a + kernel, boot and command line arguments, it points to an os boot loader + which ill extract the boot informations from the boot device specified in + a separate boot element
    • +
    • the <devices> section includes an emulator entry pointing to an + additional program in charge of emulating the devices
    • +
    • the disk entry indicates in the dev target section that the emulation + for the drive is the first IDE disk device hda
    • +
    • the <devices> section also include at least one entry for the + graphic device used to render the os. Currently there is just 2 types + possible 'vnc' or 'sdl'
    • +
    + +

    It is likely that the HVM description gets additional elements and +attributes as the support for fully virtualized domain expands especially for +the kind of devices emulated and the graphic options offered.

    +

    Binding for Python

    Libvirt comes with direct support for the Python language (just make sure diff --git a/docs/news.html b/docs/news.html index ceffbdae61..bea504ff19 100644 --- a/docs/news.html +++ b/docs/news.html @@ -2,23 +2,22 @@ Releases

    Releases

    Here is the list of official releases, however since it is early on in the development of libvirt, it is preferable when possible to just use the CVS version or snapshot, contact the mailing list -and check the ChangeLog to gauge progresses.

    0.1.2: Jul 3 2006

    • headers include paths fixup -
    • proxy mechanism for unpriviledged read-only access by httpu -

    0.1.1: Jun 21 2006

    • building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. - Berrange) -
    • driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. - Berrange) -
    • Cope with API change introduced in Xen changeset 10277 -
    • new test driver for regression checks (Daniel P. Berrange) -
    • improvements: added UUID to XML serialization, buffer usage (Karel Zak), - --connect argument to virsh (Daniel P. Berrange), -
    • bug fixes: uninitialized memory access in error reporting, S-Expr - parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO - in xs_internal.c -
    • documentation: Python examples (David Lutterkort), new Perl binding URL, - man page update (Karel Zak) - -

    0.1.0: Apr 10 2006

    • building fixes: --with-xen-distdir option (Ronald Aigner), out of tree +and check the ChangeLog to gauge progresses.

      0.1.2: Jul 3 2006

      • headers include paths fixup
      • +
      • proxy mechanism for unpriviledged read-only access by httpu
      • +

      0.1.1: Jun 21 2006

      • building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P. + Berrange)
      • +
      • driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P. + Berrange)
      • +
      • Cope with API change introduced in Xen changeset 10277
      • +
      • new test driver for regression checks (Daniel P. Berrange)
      • +
      • improvements: added UUID to XML serialization, buffer usage (Karel + Zak), --connect argument to virsh (Daniel P. Berrange),
      • +
      • bug fixes: uninitialized memory access in error reporting, S-Expr + parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in + xs_internal.c
      • +
      • documentation: Python examples (David Lutterkort), new Perl binding + URL, man page update (Karel Zak)
      • +

      0.1.0: Apr 10 2006

      • building fixes: --with-xen-distdir option (Ronald Aigner), out of tree build and pkginfo cflag fix (Daniel Berrange)
      • enhancement and fixes of the XML description format (David Lutterkort and Jim Fehlig)
      • @@ -26,7 +25,7 @@ and check the ChangeLog to gauge progresses.

        internal code cleanup: refactoring internals into a driver model, more error handling, structure sharing, thread safety and ref counting
      • bug fixes: error message (Jim Meyering), error allocation in virsh (Jim - Meyering), virDomainLookupByID (Jim Fehlig),
      • + Meyering), virDomainLookupByID (Jim Fehlig),
      • documentation: updates on architecture, and format, typo fix (Jim Meyering)
      • bindings: exception handling in examples (Jim Meyering), perl ones out