On Tue, 2009-02-24 at 18:24 +0200, Dan Kenigsberg wrote:
I know I'm arriving very late to this discussion and should have
read
it all before posting, but...
The project I'm working on wanted to be able to setup network
configuration without making persistant changes to configuration files.
This would allow testing if everything works well, and reboot without
fear if things got broken. The greatest fear when configuring network
remotely, is being locked out of your host.
Do you plan something like this feature in netcf?
No, not for netcf or libvirt. The host interface mgmt uses the
distribution's native network scripts, which implies that all config
changes are changes to those scripts.
The fundamental difficulty with providing some sort of rollback
functionality at the libvirt level is that libvirt has no idea whether
the new config is working or not, and doesn't know how to test it. So
any (syntactically valid) configuration of a network interface is as
good as any other from libvirt's POV.
That means that this type of functionality really belongs in a layer
above libvirt - the API (will) make it pretty easy though to implement
that: if you know that the current config for an interface is
good/working, just do something like
goodConfig = virInterfaceGetXmlDesc(..);
virInterfaceDefine(newConfig);
virInterfaceRestart(ifaceName);
if (! newConfigIsWorking()) {
virInterfaceDefine(goodConfig);
virInterfaceRestart(ifaceName);
}
David