On Fri, 2009-02-27 at 10:07 +0200, Dan Kenigsberg wrote:
The real issue is, that in this stage, management may have lost
connectivity to the node.
What exactly is the scenario here ? Are you trying to manage any old
node as long as it has libvirt installed ? As soon as you need any sort
of management-specific code on the node, you might as well implement the
logic below in your management code.
> if (! newConfigIsWorking()) {
> virInterfaceDefine(goodConfig);
> virInterfaceRestart(ifaceName);
> }
How about having netcf/libvirt be aware of what is a goodConfig (with
additional API verb), and back it up somewhere? Any change to to network
configuration would have immediate effect, but unless explicitly set as
"good", reverted on next boot.
While what you suggest will work in theory (with the minor caveat that
reverting to a "good" config can only be triggered by a restart of
libvirtd, not a reboot) it is a poor man's workaround for management
systems that do not provide proper failsafe functionality.
In particular, if you are part of the management system, you have a much
better idea (on the node) what it means to have a working network
configuration, and can recover from misconfigured network much more
gracefully than with the big hammer of a system reboot.
David