[libvirt] test driver for interface config

Daniel P. Berrange berrange at redhat.com
Fri Apr 10 10:47:16 UTC 2009

On Thu, Apr 09, 2009 at 02:21:20PM -0400, Laine Stump wrote:
> So, in the interest of getting the most useful stuff into the code in 
> the shortest time, here is a proposed schedule of what to do when. All 
> of these things will be done before the entire task is considered 
> complete, but some will be finished 2 releases from now rather than for 
> the next release. Each of the steps will be committable in their own 
> right, thus allowing maximum use before release:
> 1) implement a live interface driver that is simply a passthrough to 
> netcf, no parsing/formatting of XML, just a conduit. This will give us 
> something that can demonstrate the new functionality and be useful.

I'm afraid this isn't really going to fly. The libvirt public interface
is defined by C library API/ABI, and the XML format. To provide the
guarenteed stability & consistency of this interface across releases,
we need to have the XML parser & formatting included in libvirt & used
by all the driver impls. We used to have the situation where XML parsing
was delegated to individual drivers, but that ultimately caused us
painful inconsistency between drivers. 

Now in the case of the netcf impl for the interface APIs, things will
be nice & simple, because the incoming XML can be simply parsed & then
reformatted back into same schema.

> 2) implement a test driver that uses netcf in "alternate root" mode 
> (with a flag during init to turn off the iptables tweaking and disable 
> if_up and if_down) (this may or may not be ready for the next release).

I don't really see this as useful because it would have to be essentially
thrown away completely for the real impl of the test driver.

> 3) implement XML parsing/formatting functions for interfaces in libvirt. 
> (this is a functional no-op, so wouldn't necessarily need to be 
> committed until step (4), although at this point someone could use these 
> functions to implement a VirtualBox interface driver, for example).
> 4) modify the test driver to keep its own list of interfaces, and call 
> the parsing/formatting code in (3) rather than netcf.
> 5) modify the live driver from (1) to do the parse/format as XML is 
> going to/from netcf, and add-in things that netcf doesn't do (eg, 
> interface state, DHCP addresses, etc).

Step 3 really has to be the first step, and then step 5 won't be neccessary
at all, since it can be included right from the start.

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

More information about the libvir-list mailing list