From 6d1ef709ccffb2574fa5bace3673ba0e12693150 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Wed, 16 Aug 2006 17:58:23 +0000 Subject: [PATCH] * NEWS configure.in doc//* include/libvirt/libvirt.h include/libvirt/libvirt.h.in: preparing release of 0.1.4, regenerated docs, fixed a few things * src/proxy_internal.c src/test.c src/xend_internal.c: a few trivial fixes Daniel --- ChangeLog | 8 ++ NEWS | 20 ++++- configure.in | 2 +- docs/APIchunk0.html | 12 ++- docs/APIchunk1.html | 6 +- docs/APIchunk2.html | 7 +- docs/APIchunk3.html | 11 ++- docs/APIfiles.html | 1 + docs/APIsymbols.html | 1 + docs/devhelp/libvirt-libvirt.html | 6 +- docs/devhelp/libvirt-virterror.html | 3 +- docs/format.html | 84 +++++++++++---------- docs/html/libvirt-libvirt.html | 2 +- docs/html/libvirt-virterror.html | 1 + docs/libvir.html | 111 +++++++++++++++++----------- docs/libvirt-api.xml | 6 +- docs/libvirt-refs.xml | 33 +++++++++ docs/news.html | 19 ++++- include/libvirt/libvirt.h | 4 +- include/libvirt/libvirt.h.in | 2 +- src/proxy_internal.c | 2 +- src/test.c | 18 ++--- src/xend_internal.c | 2 +- 23 files changed, 242 insertions(+), 119 deletions(-) diff --git a/ChangeLog b/ChangeLog index dc581bc278..b359a6bb9a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Aug 16 19:07:52 CEST 2006 Daniel Veillard + + * NEWS configure.in doc//* include/libvirt/libvirt.h + include/libvirt/libvirt.h.in: preparing release of 0.1.4, + regenerated docs, fixed a few things + * src/proxy_internal.c src/test.c src/xend_internal.c: + a few trivial fixes + Wed Aug 16 12:33:02 EDT 2006 Daniel Berrange * src/virsh.c: Added 'setvcpus', 'setmem', 'setmaxmem' diff --git a/NEWS b/NEWS index 2674a7b147..6ddc5dfc6a 100644 --- a/NEWS +++ b/NEWS @@ -5,11 +5,29 @@ http://libvirt.org/news.html Releases +0.1.4: Aug 16 2006: + - bug fixes: spec file fix (Mark McLoughlin), error report problem (with + Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML + generation bug for CDRom (Daniel Berrange), bug whem using number() XPath + function (Mark McLoughlin), fix python detection code, remove duplicate + initialization errors (Daniel Berrange) + - improvements: UUID in XML description (Peter Vetere), proxy code + cleanup, virtual CPU and affinity support + virsh support (Michel + Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations + for console in XML (Daniel Berrange), added XML dump to driver and proxy + support (Daniel Berrange), extention of boot options with support for + floppy and cdrom (Daniel Berrange), features block in XML to report/ask + PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect + operations when using read-only connection, large improvements to test + driver (Daniel Berrange) + - documentation: spelling (Daniel Berrange), test driver examples. + + 0.1.3: Jul 11 2006: - bugfixes: build as non-root, fix xend access when root, handling of empty XML elements (Mark McLoughlin), XML serialization and parsing fixes (Mark McLoughlin), allow to create domains without disk (Mark - McLoughlin), + McLoughlin), - improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange), support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin) - documentation: augmented to cover hvm domains diff --git a/configure.in b/configure.in index e0229abfa7..e29b8cf1c0 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ AC_CANONICAL_HOST LIBVIRT_MAJOR_VERSION=0 LIBVIRT_MINOR_VERSION=1 -LIBVIRT_MICRO_VERSION=3 +LIBVIRT_MICRO_VERSION=4 LIBVIRT_MICRO_VERSION_SUFFIX= LIBVIRT_VERSION=$LIBVIRT_MAJOR_VERSION.$LIBVIRT_MINOR_VERSION.$LIBVIRT_MICRO_VERSION$LIBVIRT_MICRO_VERSION_SUFFIX LIBVIRT_VERSION_INFO=`expr $LIBVIRT_MAJOR_VERSION + $LIBVIRT_MINOR_VERSION`:$LIBVIRT_MICRO_VERSION:$LIBVIRT_MINOR_VERSION diff --git a/docs/APIchunk0.html b/docs/APIchunk0.html index 57e66e2e72..ddb6228035 100644 --- a/docs/APIchunk0.html +++ b/docs/APIchunk0.html @@ -6,6 +6,7 @@ o-s t-z

Letter A:

API
VIR_COPY_CPUMAP
+VIR_CPU_MAPLEN
VIR_CPU_USABLE
VIR_UNUSE_CPU
VIR_USE_CPU
@@ -15,7 +16,8 @@ virConnectOpenReadOnly
After
virDomainSave

Letter B:

Bytes
virDomainPinVcpu
-

Letter C:

CPU
VIR_UNUSE_CPU
+

Letter C:

CPU
VIR_CPU_MAPLEN
+VIR_UNUSE_CPU
VIR_USE_CPU
_virDomainInfo
_virNodeInfo
@@ -26,9 +28,11 @@ virDomainPinVcpu
virDomainSuspend
CPU0-7
virDomainPinVcpu
-
CPUs
VIR_NODEINFO_MAXCPUS
+
CPUs
VIR_CPU_MAPLEN
+VIR_NODEINFO_MAXCPUS
_virDomainInfo
_virNodeInfo
+cpu
cpumap
virDomainGetVcpus
virDomainPinVcpu
@@ -105,6 +109,7 @@
Suspends
virDomainSuspend

Letter T:

TODO:
virDomainShutdown
This
VIR_COPY_CPUMAP
+VIR_CPU_MAPLEN
VIR_CPU_USABLE
VIR_GET_CPUMAP
VIR_NODEINFO_MAXCPUS
@@ -176,7 +181,8 @@ virDomainShutdown
against
virGetVersion
alive
virDomainFree
-
all
virDomainDestroy
+
all
VIR_CPU_MAPLEN
+virDomainDestroy
virDomainGetVcpus
allocated
cpumap
virDomainGetInfo
diff --git a/docs/APIchunk1.html b/docs/APIchunk1.html index 6e1a83abc3..223c183ce1 100644 --- a/docs/APIchunk1.html +++ b/docs/APIchunk1.html @@ -18,6 +18,7 @@ virErrorFunc
virResetError
better
virInitialize
+
between
VIR_CPU_MAPLEN
bit
VIR_UNUSE_CPU
VIR_USE_CPU
cpumap
@@ -33,7 +34,8 @@ virDomainUndefine
virGetLastError
byte
virDomainPinVcpu
-
bytes
cpumap
+
bytes
VIR_CPU_MAPLEN
+cpumap
cpumaps
maplen
virDomainGetUUID
@@ -86,7 +88,9 @@
collect
virConnectListDomains
command
_virDomainKernel
compiled
virGetVersion
+
complete
VIR_CPU_MAPLEN
conjonction
VIR_COPY_CPUMAP
+VIR_CPU_MAPLEN
VIR_CPU_USABLE
VIR_GET_CPUMAP
VIR_UNUSE_CPU
diff --git a/docs/APIchunk2.html b/docs/APIchunk2.html index 5a1e5f6e7f..2cd8b3c0d3 100644 --- a/docs/APIchunk2.html +++ b/docs/APIchunk2.html @@ -79,7 +79,8 @@ virDomainGetXMLDesc
launch
virDomainCreate
least
virDomainPinVcpu
-
length
maplen
+
length
VIR_CPU_MAPLEN
+maplen
level
virConnectGetVersion
virCopyLastError
virDomainSuspend
@@ -111,6 +112,7 @@ virDomainLookupByUUIDString
lowest
virDomainPinVcpu

Letter m:

macro
VIR_COPY_CPUMAP
+VIR_CPU_MAPLEN
VIR_CPU_USABLE
VIR_GET_CPUMAP
VIR_NODEINFO_MAXCPUS
@@ -119,7 +121,8 @@
major
virConnectGetVersion
virGetVersion
malloc
cpumap
-
map
cpumap
+
map
VIR_CPU_MAPLEN
+cpumap
virDomainGetVcpus
virDomainPinVcpu
maplen
cpumap
diff --git a/docs/APIchunk3.html b/docs/APIchunk3.html index 5d9ea8f879..ac1dbbe934 100644 --- a/docs/APIchunk3.html +++ b/docs/APIchunk3.html @@ -66,7 +66,8 @@
path
virDomainRestore
virDomainSave
per
_virNodeInfo
-
physical
cpu
+
physical
VIR_CPU_MAPLEN
+cpu
virDomainGetMaxMemory
virDomainSetMaxMemory
virDomainSetMemory
@@ -119,6 +120,7 @@
reporting
virDefaultErrorFunc
request
virDomainReboot
virDomainShutdown
+
required
VIR_CPU_MAPLEN
requires
virDomainCreateLinux
virDomainDestroy
virDomainPinVcpu
@@ -150,7 +152,8 @@ virDomainGetXMLDesc
virDomainPinVcpu
virGetVersion
-
returns
VIR_CPU_USABLE
+
returns
VIR_CPU_MAPLEN
+VIR_CPU_USABLE
VIR_GET_CPUMAP
virConnectGetVersion
reused
virDomainGetXMLDesc
@@ -188,6 +191,7 @@
shutdown
virDomainDestroy
significant
virDomainPinVcpu
similar
virDomainCreateLinux
+
single
VIR_CPU_MAPLEN
size
_virNodeInfo
virConnectListDefinedDomains
virConnectListDomains
@@ -213,7 +217,8 @@
stop
virDomainUndefine
stopped
virDomainReboot
virDomainShutdown
-
store
virConnectListDefinedDomains
+
store
VIR_CPU_MAPLEN
+virConnectListDefinedDomains
virConnectListDomains
virConnectOpen
virDomainGetVcpus
diff --git a/docs/APIfiles.html b/docs/APIfiles.html index 57bad96397..5b6c892f72 100644 --- a/docs/APIfiles.html +++ b/docs/APIfiles.html @@ -112,6 +112,7 @@ VIR_ERR_NO_XEN
VIR_ERR_NO_XENSTORE
VIR_ERR_OK
+VIR_ERR_OPERATION_DENIED
VIR_ERR_OPERATION_FAILED
VIR_ERR_OS_TYPE
VIR_ERR_POST_FAILED
diff --git a/docs/APIsymbols.html b/docs/APIsymbols.html index b8642546f5..5f32e8e512 100644 --- a/docs/APIsymbols.html +++ b/docs/APIsymbols.html @@ -44,6 +44,7 @@ VIR_ERR_NO_XEN
VIR_ERR_NO_XENSTORE
VIR_ERR_OK
+VIR_ERR_OPERATION_DENIED
VIR_ERR_OPERATION_FAILED
VIR_ERR_OS_TYPE
VIR_ERR_POST_FAILED
diff --git a/docs/devhelp/libvirt-libvirt.html b/docs/devhelp/libvirt-libvirt.html index b17c5c7c1a..5396234f2c 100644 --- a/docs/devhelp/libvirt-libvirt.html +++ b/docs/devhelp/libvirt-libvirt.html @@ -41,7 +41,7 @@
#define VIR_NODEINFO_MAXCPUS(nodeinfo);
 #define LIBVIR_VERSION_NUMBER;
 #define VIR_USE_CPU(cpumap, cpu);
-#define VIR_CPU_MAPLEN;
+#define VIR_CPU_MAPLEN(cpu);
 #define VIR_CPU_USABLE(cpumaps, maplen, vcpu, cpu);
 #define VIR_COPY_CPUMAP(cpumaps, maplen, vcpu, cpumap);
 #define VIR_GET_CPUMAP(cpumaps, maplen, vcpu);
@@ -119,8 +119,8 @@ const char *	virDomainGetName	(VIR_COPY_CPUMAP macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.

cpumaps:pointer to an array of cpumap (in 8-bit bytes) (IN)
maplen:the length (in bytes) of one cpumap
vcpu:the virtual CPU number
cpumap:pointer to a cpumap (in 8-bit bytes) (OUT) This cpumap must be previously allocated by the caller (ie: malloc(maplen))

-

Macro VIR_CPU_MAPLEN

#define VIR_CPU_MAPLEN;
-

+

Macro VIR_CPU_MAPLEN

#define VIR_CPU_MAPLEN(cpu);
+

This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual & all physical CPUs of a domain.

cpu:number of physical CPUs

Macro VIR_CPU_USABLE

#define VIR_CPU_USABLE(cpumaps, maplen, vcpu, cpu);
diff --git a/docs/devhelp/libvirt-virterror.html b/docs/devhelp/libvirt-virterror.html
index d775372311..08719e49bd 100644
--- a/docs/devhelp/libvirt-virterror.html
+++ b/docs/devhelp/libvirt-virterror.html
@@ -129,7 +129,8 @@ void	virConnResetLastError		(VIR_ERR_DRIVER_FULL = 25 /* too many drivers registered */
     VIR_ERR_CALL_FAILED = 26 /* not supported by the drivers */
     VIR_ERR_XML_ERROR = 27 /* an XML description is not well formed or broken */
-    VIR_ERR_DOM_EXIST = 28 /*  the domain already exist */
+    VIR_ERR_DOM_EXIST = 28 /* the domain already exist */
+    VIR_ERR_OPERATION_DENIED = 29 /*  operation forbidden on read-only connections */
 };
 

diff --git a/docs/format.html b/docs/format.html index 64a6f2da6f..1edc2c67bb 100644 --- a/docs/format.html +++ b/docs/format.html @@ -48,30 +48,30 @@ significant:

  • name: the domain name, preferably ASCII based
  • root: the root filesystem from the guest viewpoint, it may be passed as part of the cmdline content too
-
  • devices: a list of disk, interface - and console descriptions in no special order
  • +
  • devices: a list of disk, interface and + console descriptions in no special order
  • The format of the devices and their type may grow over time, but the -following should be sufficient for basic use:

    A disk device indicates a block device, it can have two values for the -type attribute either 'file' or 'block' corresponding to the 2 options -availble at the Xen layer. It has two mandatory children, and one optional -one in no specific order:

    • source with a file attribute containing the path in Domain 0 to the +following should be sufficient for basic use:

      A disk device indicates a block device, it can have two +values for the type attribute either 'file' or 'block' corresponding to the 2 +options availble at the Xen layer. It has two mandatory children, and one +optional one in no specific order:

      • source with a file attribute containing the path in Domain 0 to the file or a dev attribute if using a block device, containing the device name ('hda5' or '/dev/hda5')
      • target indicates in a dev attribute the device where it is mapped in the guest
      • readonly an optional empty element indicating the device is read-only
      • -

      An interface element describes a network device mapped on the guest, it -also has a type whose value is currently 'bridge', it also have a number of -children in no specific order:

      • source: indicating the bridge name
      • +

      An interface element describes a network device mapped on the +guest, it also has a type whose value is currently 'bridge', it also have a +number of children in no specific order:

      • source: indicating the bridge name
      • mac: the optional mac address provided in the address attribute
      • ip: the optional IP address provided in the address attribute
      • script: the script used to bridge the interfcae in the Domain 0
      • target: and optional target indicating the device name.
      • -

      A console element describes a serial console connection to the -guest. It has no children, and a single attribute tty which provides -the path to the Pseudo TTY on which the guest console can be accessed -

      Life cycle actions for the domain can also be expressed in the XML format, +

    A console element describes a serial console connection to +the guest. It has no children, and a single attribute tty which +provides the path to the Pseudo TTY on which the guest console can be +accessed

    Life cycle actions for the domain can also be expressed in the XML format, they drive what should be happening if the domain crashes, is rebooted or is poweroff. There is various actions possible when this happen:

    • destroy: The domain is cleaned up (that's the default normal processing in Xen)
    • @@ -133,43 +133,45 @@ systems:

      <domain type='xen' id='3'>
           </disk>
           <graphics type='vnc' port='5904'/>
         </devices>
      -</domain>

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

      • the optional <features> block is used to enable certain - guest CPU / system features. For HVM guests the following features are defined: +</domain>

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

    • the optional <features> block is used to enable + certain guest CPU / system features. For HVM guests the following + features are defined:
      • pae - enable PAE memory addressing
      • -
      • apic - enable IO APIC
      • -
      • acpi - enable ACPI bios
      • +
      • apic - enable IO APIC
      • +
      • acpi - enable ACPI bios
    • -
    • 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 will extract the boot informations from the boot device specified - in a separate boot element. The dev attribute on the boot - tag can be one of: +
    • 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 will extract the boot informations from the boot device + specified in a separate boot element. The dev attribute on + the boot tag can be one of:
      • fd - boot from first floppy device
      • -
      • hd - boot from first harddisk device
      • -
      • cdrom - boot from first cdrom device
      • +
      • hd - boot from first harddisk device
      • +
      • cdrom - boot from first cdrom device
    • -
    • the <devices> section includes an emulator entry pointing to an - additional program in charge of emulating the devices
    • +
    • 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 list of device names - supported is dependant on the Hypervisor, but for Xen it can be any IDE - device hda-hdd, or a floppy device fda, - fdb. The <disk> element also supports a 'device' - attribute to indicate what kinda of hardware to emulate. The following values are - supported: + supported is dependant on the Hypervisor, but for Xen it can be any IDE + device hda-hdd, or a floppy device + fda, fdb. The <disk> element + also supports a 'device' attribute to indicate what kinda of hardware to + emulate. The following values are supported:
      • floppy - a floppy disk controller
      • -
      • disk - a generic hard drive (the default it omitted)
      • -
      • cdrom - a CDROM device
      • +
      • disk - a generic hard drive (the default it + omitted)
      • +
      • cdrom - a CDROM device
      For Xen 3.0.2 and earlier a CDROM device can only be emulated on the - hdc channel, while for 3.0.3 and later, it can be emulated on - any IDE channel.
    • -
    • 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'. If the type is 'vnc', then an additional port - attribute will be present indicating the TCP port on which the VNC server is - accepting client connections.
    • + hdc channel, while for 3.0.3 and later, it can be emulated + on any IDE channel. +
    • 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'. If the type is 'vnc', then an + additional port attribute will be present indicating the TCP + port on which the VNC server is accepting client connections.

    It is likely that the HVM description gets additional optional elements and attributes as the support for fully virtualized domain expands, especially for the variety of devices emulated and the graphic support diff --git a/docs/html/libvirt-libvirt.html b/docs/html/libvirt-libvirt.html index b4a806c32a..84f84ca3e0 100644 --- a/docs/html/libvirt-libvirt.html +++ b/docs/html/libvirt-libvirt.html @@ -62,7 +62,7 @@ The content of this structure is not made public by the API.

    Description

    Macro: LIBVIR_VERSION_NUMBER

    #define LIBVIR_VERSION_NUMBER

    Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro

    Macro: VIR_COPY_CPUMAP

    #define VIR_COPY_CPUMAP

    This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. VIR_COPY_CPUMAP macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.

    -

    Macro: VIR_CPU_MAPLEN

    #define VIR_CPU_MAPLEN

    +

    Macro: VIR_CPU_MAPLEN

    #define VIR_CPU_MAPLEN

    This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual & all physical CPUs of a domain.

    Macro: VIR_CPU_USABLE

    #define VIR_CPU_USABLE

    This macro is to be used in conjonction with virDomainGetVcpus() API. VIR_CPU_USABLE macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise.

    Macro: VIR_GET_CPUMAP

    #define VIR_GET_CPUMAP

    This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. VIR_GET_CPUMAP macro returns a pointer to the cpumap of the specified vcpu from cpumaps array.

    Macro: VIR_NODEINFO_MAXCPUS

    #define VIR_NODEINFO_MAXCPUS

    This macro is to calculate the total number of CPUs supported but not neccessarily active in the host.

    diff --git a/docs/html/libvirt-virterror.html b/docs/html/libvirt-virterror.html index b5df81041d..8fe8908de8 100644 --- a/docs/html/libvirt-virterror.html +++ b/docs/html/libvirt-virterror.html @@ -77,6 +77,7 @@ void virErrorFunc (void * userData,
    VIR_ERR_CALL_FAILED = 26 : not supported by the drivers VIR_ERR_XML_ERROR = 27 : an XML description is not well formed or broken VIR_ERR_DOM_EXIST = 28 : the domain already exist + VIR_ERR_OPERATION_DENIED = 29 : operation forbidden on read-only connections }

    Function: virConnCopyLastError

    int	virConnCopyLastError		(virConnectPtr conn, 
    virErrorPtr to)

    Copy the content of the last error caught on that connection One will need to free the result with virResetError()

    diff --git a/docs/libvir.html b/docs/libvir.html index d7bedafd2d..84a5d17bbd 100644 --- a/docs/libvir.html +++ b/docs/libvir.html @@ -33,12 +33,31 @@ 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.4: Aug 16 2006

    +
      +
    • bug fixes: spec file fix (Mark McLoughlin), error report problem (with + Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML + generation bug for CDRom (Daniel Berrange), bug whem using number() XPath + function (Mark McLoughlin), fix python detection code, remove duplicate + initialization errors (Daniel Berrange)
    • +
    • improvements: UUID in XML description (Peter Vetere), proxy code + cleanup, virtual CPU and affinity support + virsh support (Michel + Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations + for console in XML (Daniel Berrange), added XML dump to driver and proxy + support (Daniel Berrange), extention of boot options with support for + floppy and cdrom (Daniel Berrange), features block in XML to report/ask + PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect + operations when using read-only connection, large improvements to test + driver (Daniel Berrange)
    • +
    • documentation: spelling (Daniel Berrange), test driver examples.
    • +
    +

    0.1.3: Jul 11 2006

    • bugfixes: build as non-root, fix xend access when root, handling of empty XML elements (Mark McLoughlin), XML serialization and parsing fixes (Mark McLoughlin), allow to create domains without disk (Mark - McLoughlin),
    • + McLoughlin),
    • improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange), support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)
    • documentation: augmented to cover hvm domains
    • @@ -346,17 +365,17 @@ significant:

      passed as part of the cmdline content too
    -
  • devices: a list of disk, interface - and console descriptions in no special order
  • +
  • devices: a list of disk, interface and + console descriptions in no special order
  • The format of the devices and their type may grow over time, but the following should be sufficient for basic use:

    -

    A disk device indicates a block device, it can have two values for the -type attribute either 'file' or 'block' corresponding to the 2 options -availble at the Xen layer. It has two mandatory children, and one optional -one in no specific order:

    +

    A disk device indicates a block device, it can have two +values for the type attribute either 'file' or 'block' corresponding to the 2 +options availble at the Xen layer. It has two mandatory children, and one +optional one in no specific order:

    • source with a file attribute containing the path in Domain 0 to the file or a dev attribute if using a block device, containing the device @@ -367,9 +386,9 @@ one in no specific order:

      read-only
    -

    An interface element describes a network device mapped on the guest, it -also has a type whose value is currently 'bridge', it also have a number of -children in no specific order:

    +

    An interface element describes a network device mapped on the +guest, it also has a type whose value is currently 'bridge', it also have a +number of children in no specific order:

    • source: indicating the bridge name
    • mac: the optional mac address provided in the address attribute
    • @@ -378,10 +397,10 @@ children in no specific order:

    • target: and optional target indicating the device name.
    -

    A console element describes a serial console connection to the -guest. It has no children, and a single attribute tty which provides -the path to the Pseudo TTY on which the guest console can be accessed -

    +

    A console element describes a serial console connection to +the guest. It has no children, and a single attribute tty which +provides the path to the Pseudo TTY on which the guest console can be +accessed

    Life cycle actions for the domain can also be expressed in the XML format, they drive what should be happening if the domain crashes, is rebooted or is @@ -461,48 +480,50 @@ systems:

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

      -
    • the optional <features> block is used to enable certain - guest CPU / system features. For HVM guests the following features are defined: +
    • the optional <features> block is used to enable + certain guest CPU / system features. For HVM guests the following + features are defined:
        -
      • pae - enable PAE memory addressing
      • -
      • apic - enable IO APIC
      • -
      • acpi - enable ACPI bios
      • +
      • pae - enable PAE memory addressing
      • +
      • apic - enable IO APIC
      • +
      • acpi - enable ACPI bios
    • -
    • 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 will extract the boot informations from the boot device specified - in a separate boot element. The dev attribute on the boot - tag can be one of: +
    • 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 will extract the boot informations from the boot device + specified in a separate boot element. The dev attribute on + the boot tag can be one of:
        -
      • fd - boot from first floppy device
      • -
      • hd - boot from first harddisk device
      • -
      • cdrom - boot from first cdrom device
      • +
      • fd - boot from first floppy device
      • +
      • hd - boot from first harddisk device
      • +
      • cdrom - boot from first cdrom device
    • -
    • the <devices> section includes an emulator entry pointing to an - additional program in charge of emulating the devices
    • +
    • 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 list of device names - supported is dependant on the Hypervisor, but for Xen it can be any IDE - device hda-hdd, or a floppy device fda, - fdb. The <disk> element also supports a 'device' - attribute to indicate what kinda of hardware to emulate. The following values are - supported: + supported is dependant on the Hypervisor, but for Xen it can be any IDE + device hda-hdd, or a floppy device + fda, fdb. The <disk> element + also supports a 'device' attribute to indicate what kinda of hardware to + emulate. The following values are supported:
        -
      • floppy - a floppy disk controller
      • -
      • disk - a generic hard drive (the default it omitted)
      • -
      • cdrom - a CDROM device
      • +
      • floppy - a floppy disk controller
      • +
      • disk - a generic hard drive (the default it + omitted)
      • +
      • cdrom - a CDROM device
      For Xen 3.0.2 and earlier a CDROM device can only be emulated on the - hdc channel, while for 3.0.3 and later, it can be emulated on - any IDE channel.
    • -
    • 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'. If the type is 'vnc', then an additional port - attribute will be present indicating the TCP port on which the VNC server is - accepting client connections.
    • + hdc channel, while for 3.0.3 and later, it can be emulated + on any IDE channel. +
    • 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'. If the type is 'vnc', then an + additional port attribute will be present indicating the TCP + port on which the VNC server is accepting client connections.

    It is likely that the HVM description gets additional optional elements diff --git a/docs/libvirt-api.xml b/docs/libvirt-api.xml index 5d43ea3827..4674ebb8cb 100644 --- a/docs/libvirt-api.xml +++ b/docs/libvirt-api.xml @@ -128,6 +128,7 @@ + @@ -170,6 +171,8 @@ + This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual & all physical CPUs of a domain. + This macro is to be used in conjonction with virDomainGetVcpus() API. VIR_CPU_USABLE macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise. @@ -215,7 +218,7 @@ - + @@ -238,6 +241,7 @@ + diff --git a/docs/libvirt-refs.xml b/docs/libvirt-refs.xml index e134fedb1c..7711380c4a 100644 --- a/docs/libvirt-refs.xml +++ b/docs/libvirt-refs.xml @@ -45,6 +45,7 @@ + @@ -196,6 +197,7 @@ + @@ -543,6 +545,7 @@ + @@ -584,6 +587,7 @@ + @@ -605,6 +609,7 @@ + @@ -620,9 +625,11 @@ + + @@ -803,6 +810,7 @@ + @@ -924,6 +932,7 @@ + @@ -1027,6 +1036,9 @@ + + + @@ -1051,6 +1063,7 @@ + @@ -1143,8 +1156,12 @@ + + + + @@ -1588,6 +1605,7 @@ + @@ -1648,6 +1666,7 @@ + @@ -1662,6 +1681,7 @@ + @@ -1923,6 +1943,7 @@ + @@ -2033,6 +2054,9 @@ + + + @@ -2087,6 +2111,7 @@ + @@ -2158,6 +2183,9 @@ + + + @@ -2210,6 +2238,7 @@ + @@ -2407,6 +2436,7 @@ + @@ -2480,6 +2510,7 @@ + @@ -2518,6 +2549,7 @@ + @@ -2573,6 +2605,7 @@ + diff --git a/docs/news.html b/docs/news.html index ddb93f6128..e8506953c9 100644 --- a/docs/news.html +++ b/docs/news.html @@ -2,10 +2,25 @@ 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.3: Jul 11 2006

    • bugfixes: build as non-root, fix xend access when root, handling of +and check the ChangeLog to gauge progresses.

      0.1.4: Aug 16 2006

      • bug fixes: spec file fix (Mark McLoughlin), error report problem (with + Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML + generation bug for CDRom (Daniel Berrange), bug whem using number() XPath + function (Mark McLoughlin), fix python detection code, remove duplicate + initialization errors (Daniel Berrange)
      • +
      • improvements: UUID in XML description (Peter Vetere), proxy code + cleanup, virtual CPU and affinity support + virsh support (Michel + Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations + for console in XML (Daniel Berrange), added XML dump to driver and proxy + support (Daniel Berrange), extention of boot options with support for + floppy and cdrom (Daniel Berrange), features block in XML to report/ask + PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect + operations when using read-only connection, large improvements to test + driver (Daniel Berrange)
      • +
      • documentation: spelling (Daniel Berrange), test driver examples.
      • +

      0.1.3: Jul 11 2006

      • bugfixes: build as non-root, fix xend access when root, handling of empty XML elements (Mark McLoughlin), XML serialization and parsing fixes (Mark McLoughlin), allow to create domains without disk (Mark - McLoughlin),
      • + McLoughlin),
      • improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange), support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)
      • documentation: augmented to cover hvm domains
      • diff --git a/include/libvirt/libvirt.h b/include/libvirt/libvirt.h index f846fe0351..a125f8fbbe 100644 --- a/include/libvirt/libvirt.h +++ b/include/libvirt/libvirt.h @@ -196,7 +196,7 @@ typedef virNodeInfo *virNodeInfoPtr; * version * 1,000,000 + minor * 1000 + micro */ -#define LIBVIR_VERSION_NUMBER 1003 +#define LIBVIR_VERSION_NUMBER 1004 int virGetVersion (unsigned long *libVer, const char *type, @@ -352,7 +352,7 @@ int virDomainPinVcpu (virDomainPtr domain, #define VIR_UNUSE_CPU(cpumap,cpu) (cpumap[(cpu)/8] &= ~(1<<((cpu)%8))) /** - * VIR_CPU_MAPLEN + * VIR_CPU_MAPLEN: * @cpu: number of physical CPUs * * This macro is to be used in conjonction with virDomainPinVcpu() API. diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index a78452b480..c7a8fc26ce 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -352,7 +352,7 @@ int virDomainPinVcpu (virDomainPtr domain, #define VIR_UNUSE_CPU(cpumap,cpu) (cpumap[(cpu)/8] &= ~(1<<((cpu)%8))) /** - * VIR_CPU_MAPLEN + * VIR_CPU_MAPLEN: * @cpu: number of physical CPUs * * This macro is to be used in conjonction with virDomainPinVcpu() API. diff --git a/src/proxy_internal.c b/src/proxy_internal.c index df34c6fc59..419fbd6a6d 100644 --- a/src/proxy_internal.c +++ b/src/proxy_internal.c @@ -939,7 +939,7 @@ xenProxyNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info) { * Returns the XML document on success, NULL otherwise. */ static char * -xenProxyDomainDumpXML(virDomainPtr domain, int flags) +xenProxyDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED) { virProxyPacket req; virProxyFullPacket ans; diff --git a/src/test.c b/src/test.c index e66598873f..af165f8dfb 100644 --- a/src/test.c +++ b/src/test.c @@ -705,7 +705,7 @@ testDomainCreateLinux(virConnectPtr conn, const char *xmlDesc, return (NULL); } if (conn->flags & VIR_CONNECT_RO) { - testError(conn, NULL, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(conn, NULL, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (NULL); } @@ -821,7 +821,7 @@ int testDestroyDomain (virDomainPtr domain) return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -839,7 +839,7 @@ int testResumeDomain (virDomainPtr domain) return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -857,7 +857,7 @@ int testPauseDomain (virDomainPtr domain) return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -880,7 +880,7 @@ int testShutdownDomain (virDomainPtr domain) return (-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -908,7 +908,7 @@ int testRebootDomain (virDomainPtr domain, virDomainRestart action) return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -1006,7 +1006,7 @@ int testSetMaxMemory (virDomainPtr domain, return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -1026,7 +1026,7 @@ int testSetMemory (virDomainPtr domain, return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } @@ -1051,7 +1051,7 @@ int testSetVcpus(virDomainPtr domain, return(-1); } if (domain->conn->flags & VIR_CONNECT_RO) { - testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__); + testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } diff --git a/src/xend_internal.c b/src/xend_internal.c index b847d52690..10826d8495 100644 --- a/src/xend_internal.c +++ b/src/xend_internal.c @@ -2176,7 +2176,7 @@ xenDaemonDomainDumpXMLByID(virConnectPtr conn, int domid) * the caller must free() the returned value. */ char * -xenDaemonDomainDumpXML(virDomainPtr domain, int flags) +xenDaemonDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED) { if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) { virXendError((domain ? domain->conn : NULL), VIR_ERR_INVALID_ARG, -- GitLab