
On Mon, Oct 05, 2009 at 02:34:05PM -0700, David Lutterkort wrote:
On Mon, 2009-10-05 at 17:34 +0100, Daniel P. Berrange wrote:
With the domain XML format, we did have a few abortive attempts at indicating in the live XML, whether an attribute was from the persistent config, vs dynamically added to live config, but it all ended up as rather a mess.
Here's a concrete example where this leads to headscratching, at a minimum, with the netowrk configs. When the live XML contains
<protocol family="ipv4"> <dhcp/> <ip address="192.168.0.5" prefix="24"/> <route gateway="192.168.0.1"/> </protocol>
you at least think that the interface is configured to use DHCP, and currently has the indicated address. Of course, if we ever poke around to see if the interface _currently_ gets its address from DHCP, we have no way to indicate that anymore, since we would indicate 'configured to use DHCP' and 'currently gets its address from DHCP' in exactly the same way. Also, US $5 to anybody who knows whether the <route/> tag above says 'is configured to use that gateway' or 'routing is through that gateway right now'.
The live XML should *always* say what the inteface is doing right now.
To belabor this point, when the live XML says
<protocol family="ipv4"> <ip address="192.168.0.5" prefix="24"/> <ip address="192.168.0.6" prefix="24"/> </protocol>
it's completely unclear what addresses are in the config files (maybe both?) and which ones are actually assigned to the interface right now.
I think there is a disconnect here about the behaviour we should be exposing. In that example of live XML above with 2 IP addresses, both of those IP address *must* be currently assigned to the interface, since this is the live XML. To determine which (if any) of those addresses are in the config file, the VIR_INTEFACE_XML_INACTIVE flag would be used. Looking at netcf, it does not appear to implement this correctly. If I query the live XML of an interface, it gives back a mixture of both the config file and active addresses. Indeed, if using a static IP address, it'll list the same IP address twice in the XML once it pulls it from the config file, and once from the interface. Regards Daniel -- |: 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 :|