[libvirt] [PATCH 0/3] Prevent removing a in-used static bridge and destroying a in-used virtual network

Daniel P. Berrange berrange at redhat.com
Wed Feb 4 09:16:39 UTC 2015


On Wed, Feb 04, 2015 at 02:21:18AM -0500, Laine Stump wrote:
> On 02/03/2015 11:47 AM, Michal Privoznik wrote:
> > On 02.02.2015 15:08, Lin Ma wrote:
> >> * Get the live state info of a virtual network through netcf in networkGetXMLDesc.
> >> * Add --system flag for net-dumpxml to show the live state info.
> >> * Check the live state info in net-destroy.
> >> * Add --force flag for net-destroy to forcibly destroy the virtual network.
> >> * Check the transient interfaces info in iface-unbridge.
> >>
> >> ---
> >> Lin Ma (3):
> >>   bridge_driver: Return the live state info of a given virtual network
> >>   virsh: prevent destroying a in-used network for net-destroy
> >>   virsh: prevent removing a in-used bridge for iface-unbridge
> >>
> >>  include/libvirt/libvirt-network.h    |   1 +
> >>  src/Makefile.am                      |   3 +
> >>  src/network/bridge_driver.c          | 141 ++++++++++++++++++++++++++++++++++-
> >>  src/network/bridge_driver_platform.h |   7 ++
> >>  tests/Makefile.am                    |   4 +
> >>  tools/virsh-interface.c              |  25 ++++++-
> >>  tools/virsh-network.c                |  62 ++++++++++++++-
> >>  tools/virsh.pod                      |   8 +-
> >>  8 files changed, 241 insertions(+), 10 deletions(-)
> >>
> > So I've spent some time thinking about this. I don't really like the
> > idea of producing completely different XML (it doesn't even have
> > <network/> as its root element!). But I see what you're trying to
> > achieve. How about putting the bridged interfaces into the network
> > definition (on request signalized by a flag, of course).
> 
> I think that if we're going to add the list of connected guest devices
> to a network's status, that it should just always be there - adding a
> new flag for every little bit of different status sets a bad precedent
> and sets us up to have an infinitely increasing number of flags.
> 
> Like I mentioned in my response to one of the patches, I think this
> information is better gathered and maintained by the bridge driver as
> guests connect to / disconnect from a network; this avoids the necessity
> of dragging netcf into the picture and allows much better information -
> the name of the domain using each interface can be included.

I think we should consider whether we should expose it as an explicit
API too, rather than just stuffing it into the XML as a way to avoid
the work of defining an API.

The XML is generally describing the configuration of the virtual
network. This isn't really configuration information, but rather
a reporting about usage of the network, so it isn't a clearly
compelling thing to put in the XML.

> > I think we've come to a point where we need to introduce live and config
> > XML (like we have for domains). We already have that to some extent, but
> > not truly.
> 
> I think the situation is more that we have live and config XML, but
> there may be a small problem here and there. As a matter of fact, a long
> time ago virsh wasn't using the live XML to edit a network, and this was
> causing problems (e.g. if you tried to edit a network twice without
> restarting it, the second time you would lose all the changes from the
> first edit).

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list