libvirt 0.6 [PSARC/2009/212 FastTrack timeout 04/09/2009]

2009-04-03 Thread Kais Belgaied
On 04/02/09 10:45, Tim Marsland wrote:
 I'm sponsoring the following fast-track for John Levon.
 Updated manpages in materials directory.

+1


Kais.






libvirt 0.6 [PSARC/2009/212 FastTrack timeout 04/09/2009]

2009-04-02 Thread Tim Marsland
I'm sponsoring the following fast-track for John Levon.
Updated manpages in materials directory.

1.  Introduction

libvirt was introduced as PSARC 2007/157. virt-install does not seem to
have been introduced to ARC separately, but was part of LSARC 2007/175.
This case covers a refresh of both packages.

libvirt is being upgraded to version 0.6 (currently 0.4).
virt-install is being upgraded to 0.400.3 (from 0.300.3).

A patch binding is requested, though no backport is planned.

2.  API changes

Both packages have APIs intended to be stable but controlled by the
upstream community. This section covers new additions to the APIs. Those
interested can read the upstream documentation for more information.

Except as noted, we ship the same API as upstream does without changes.
New virt-install and virsh options can be seen in the man-page diffs in
the case materials.

As before, virsh options that are not implemented on Solaris yet have
been ifdefed out.

Currently, libvirt, as a Volatile interface, has no API man pages; the
new API functions are listed below.

libvirt has a number of XML schemas: these are now delivered to
/usr/share/lib/xml/rng/libvirt/. OpenSolaris already uses this location
for Relax-NG schemas, but this is the first time it's been presented to
ARC, so this case marks the location as Committed. We also mark the
individual schemas as Committed.

Note the manpage diffs remove the incorrect verbiage about ldoms and
the libvirt tools. Solaris has not shipped with an ldoms libvirt driver,
though an external project exists. Future work will provide an
integrated solution for ldoms support with libvirt.

3.  Incompatibilities

PSARC 2008/577 introduced the relative path APIs. This case marked them
as committed. After negative feedback from the upstream community, this
case will change them to be Obsolete Volatile.  Practically, these
interfaces are not heavily used and were introduced only for
virt-convert's usage. It is expected that they will go away at some
point in the future, to be replaced by the community's solution to the
issue (namely virt-image).

PSARC 2007/157 marked usr/bin/i86/virsh and usr/bin/amd64/virsh as
Committed. These are implementation details and should correctly have
been Not-an-interface. This case fixes this.

The last virt-install version incorrectly accepted the --location flag
for HVM domains. The newer version reverts this bug, so --cdrom is
required instead.

Earlier versions of virt-install supported an interactive prompting mode
when not enough information was given. The newer version disables this
feature. Since it's only useful for interactive usage, this shouldn't be
a compatibility issue per se, though it does make virt-install even
harder to use.

No other compatibility issues have yet come to light.

4.  Interface table

/usr/share/lib/xml/rng  Committed
/usr/share/lib/xml/rng/libvirt/*Committed
libvirt API Volatile
usr/bin/virsh   Committed
usr/bin/virsh cmdline   Committed
usr/bin/virsh outputNot-an-interface
usr/bin/i86/virsh   Not-an-interface
usr/bin/amd64/virsh Not-an-interface
usr/include/libvirt/libvirt.h   Volatile
usr/include/libvirt/virterror.h Volatile
usr/lib/libvirt.so  Volatile
usr/lib/amd64/libvirt.soVolatile
usr/lib/python2.4/vendor-packages/libvirt.pyUncommitted
usr/lib/python2.4/vendor-packages/libvirt.pyc   Uncommitted
usr/lib/python2.4/vendor-packages/libvirtmod.so Uncommitted
usr/lib/python2.4/vendor-packages/64/libvirtmod.so  Uncommitted
virDomainGetRelativeXMLDesc Obsolete Volatile
virDomainDefineRelativeXML  Obsolete Volatile
virsh(1M) --relative-path   Obsolete Volatile
usr/bin/virt-installCommitted
usr/bin/virt-install cmdlineCommitted
usr/bin/virt-install output Not-an-interface


5.  References

 http://libvirt.org/
 http://www.virt-manager.org/
 PSARC/2006/260 Solaris on Xen
 LSARC/2007/175 Virtual Machine Manager
 LSARC/2007/625 vncviewer
 PSARC/2007/157 libvirt - a LGPL library to control guest domains
 PSARC/2008/289 Least Privilege for xVM
 PSARC/2008/577 Libvirt APIs for relative paths
 PSARC/2008/579 virt-convert
 PSARC/2008/596 Block Tap Support for Solaris

6.  New libvirt functions

int virConnectRef   (virConnectPtr conn);
int virDomainRef(virDomainPtr domain);
int virDomainBlockPeek (virDomainPtr dom,