[openstack-dev] [Nova][Neutron] out-of-tree plugin for Mech driver/L2 and vif_driver

Daniel P. Berrange berrange at redhat.com
Mon Dec 15 10:54:14 UTC 2014


On Mon, Dec 15, 2014 at 10:36:59AM +0000, Neil Jerram wrote:
> "Daniel P. Berrange" <berrange at redhat.com> writes:
> 
> > Failing that though, I could see a way to accomplish a similar thing
> > without a Neutron launched agent. If one of the VIF type binding
> > parameters were the name of a script, we could run that script on
> > plug & unplug. So we'd have a finite number of VIF types, and each
> > new Neutron mechanism would merely have to provide a script to invoke
> >
> > eg consider the existing midonet & iovisor VIF types as an example.
> > Both of them use the libvirt "ethernet" config, but have different
> > things running in their plug methods. If we had a mechanism for
> > associating a "plug script" with a vif type, we could use a single
> > VIF type for both.
> >
> > eg iovisor port binding info would contain
> >
> >   vif_type=ethernet
> >   vif_plug_script=/usr/bin/neutron-iovisor-vif-plug
> >
> > while midonet would contain
> >
> >   vif_type=ethernet
> >   vif_plug_script=/usr/bin/neutron-midonet-vif-plug
> >
> >
> > And so you see implementing a new Neutron mechanism in this way would
> > not require *any* changes in Nova whatsoever. The work would be entirely
> > self-contained within the scope of Neutron. It is simply a packaging
> > task to get the vif script installed on the compute hosts, so that Nova
> > can execute it.
> >
> > This is essentially providing a flexible VIF plugin system for Nova,
> > without having to have it plug directly into the Nova codebase with
> > the API & RPC stability constraints that implies.
> 
> I agree that this is a very promising idea.  But... what about the
> problem that it is libvirt-specific?  Does that matter?

Libvirt defines terminology that is generally applicable to different
hypervisors. Of course not all hypevisors will be capable of supporting
all VIF types, but that's true no matter what terminology you choose,
so I don't see any problem here.

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 OpenStack-dev mailing list