[vdsm] Future of Vdsm network configuration

huntxu mhuntxu at gmail.com
Mon Nov 12 13:03:58 UTC 2012


On Sun, 11 Nov 2012 22:07:30 +0800, Dan Kenigsberg <danken at redhat.com>  
wrote:

> Hi,
>
> Nowadays, when vdsm receives the setupNetowrk verb, it mangles
> /etc/sysconfig/network-scripts/ifcfg-* files and restarts the network
> service, so they are read by the responsible SysV service.
>
> This is very much Fedora-oriented, and not up with the new themes
> in Linux network configuration. Since we want oVirt and Vdsm to be
> distribution agnostic, and support new features, we have to change.
>
> setupNetwork is responsible for two different things:
> (1) configure the host networking interfaces, and
> (2) create virtual networks for guests and connect the to the world over  
> (1).
>
> Functionality (2) is provided by building Linux software bridges, and
> vlan devices. I'd like to explore moving it to Open vSwitch, which would
> enable a host of functionalities that we currently lack (e.g.
> tunneling). One thing that worries me is the need to reimplement our
> config snapshot/recovery on ovs's database.

I have tried replacing Linux bridge with ovs in ovirt-node, using a earlier
version(like 1.3 or so) with brigde-compatible support. Then I had nothing
extra to do other than loading ovs's brcompat module instead of linux  
bridge module.
And newer version's ovs also has network-scripts support for rhel-based  
distros.
So the problem is more about the tool and the way we achieve the  
configuring work.

>
> As far as I know, ovs is unable to maintain host level parameters of
> interfaces (e.g. eth0's IPv4 address), so we need another
> tool for functionality (1): either speak to NetworkManager directly, or
> to use NetCF, via its libvirt virInterface* wrapper.
>
> I have minor worries about NetCF's breadth of testing and usage; I know
> it is intended to be cross-platform, but unlike ovs, I am not aware of a
> wide Debian usage thereof. On the other hand, its API is ready for vdsm's
> usage for quite a while.
>
> NetworkManager has become ubiquitous, and we'd better integrate with it
> better than our current setting of NM_CONTROLLED=no. But as DPB tells
> us,
> https://lists.fedorahosted.org/pipermail/vdsm-devel/2012-November/001677.html
> we'd better offload integration with NM to libvirt.
>
> We would like to take Network configuration in VDSM to the next level
> and make it distribution agnostic in addition for setting the
> infrastructure for more advanced features to be used going forward.
> The path we think of taking is to integrate with OVS and for feature
> completeness use NetCF, via its libvirt virInterface* wrapper. Any
> comments or feedback on this proposal is welcomed.

If we use NetCF, are we limited to use only NM or only ovs? If not, as long
as virInterface driver can provide a set of consistent and workable APIs,
vdsm shouldn't care much about how functionality (1) and (2) are actually
achieved. For different purpose, it is nice to maintain the variety to  
achieve
the functionalities, maybe with plugins for those several tools and ways.


-- 
Regards,
Hunt


More information about the vdsm-devel mailing list