[openstack-dev] [nova] vif type libvirt-network

Neil Jerram Neil.Jerram at metaswitch.com
Wed Jun 10 20:20:14 UTC 2015


Hi Ian,

Thanks for your reply!

On 10/06/15 21:07, Ian Wells wrote:
> I don't see a problem with this, though I think you do want plug/unplug
> calls to be passed on to Neutron so that has the opportunity to set up
> the binding from its side (usage >0) and tear it down when you're done
> with it (usage <1).
>
> There may be a set of races you need to deal with, too - what happens if
> Nova starts a VM attached to a Neutron network binding that has yet to
> be set up?  Neutron doesn't (well, technically, shouldn't be expected
> to) do things instantaneously on a call, even binding, or you get into
> the realm of distributed system failure case analysis.

Good point.  Andreas, how do you think the timing of the Nova and 
Neutron parts will work?

> Neil, are you trying to route to the host - where this will work,
> because a libvirt network is L2 - or to the VM - where this won't, for
> the same reason?

Consider data that's arriving at a local VM, and has come from a VM on 
another compute host.

   VM ----- Host A ------------- Host B ----- VM
10.0.0.1                                  10.0.0.2

In Host B's routing table there is a rule like this:

10.0.0.2/32 dev tap12345-CD

where tap12345-CD is the TAP interface towards the VM.  Does that answer 
your question, and would that be possible with a libvirt network?

Thanks,
	Neil


> --
> Ian.
>
>
> On 10 June 2015 at 12:16, Neil Jerram <Neil.Jerram at metaswitch.com
> <mailto:Neil.Jerram at metaswitch.com>> wrote:
>
>     On 10/06/15 15:47, Andreas Scheuring wrote:
>
>         Hi Daniel, Neil and others,
>
>         I was thinking about introducing libvirt-network as a new vif
>         type to
>         nova. It can be used when Neutron prepares a libvirt network for
>         attaching guests.
>
>         Would you see any general concerns with such an approach?
>         Anything that
>         I need to consider with libvirt networks in addition? Maybe I should
>         mention one thing due to the discussion this morning: No plug/unplug
>         behavior would required.
>
>         Any feedback is welcome!
>
>
>         I added a blueprint and wrote a spec with more details [1]. This
>         blueprint would make the macvtap-vif blueprint [2] dispensable.
>
>         The neutron code exploiting this libvirt network vif type will
>         land on
>         stackforge. It will manage macvtap backed libvirt networks --> offer
>         guest attachments via macvtap. [3]
>
>
>
>         [1] https://blueprints.launchpad.net/nova/+spec/libvirt-network-vif
>         [2] https://blueprints.launchpad.net/nova/+spec/libvirt-macvtap-vif
>         [3] https://launchpad.net/networking-macvtap
>         (I'm still waiting for the repo to be approved, so for now I
>         only have a
>         launchpad project to ref to).
>
>
>     Thanks, Andreas, this looks interesting.  I wonder if
>
>     <network>
>        <name>xyz</name>
>        <forward mode="route"\>
>        ...
>     </network>
>
>     <domain>
>        ...
>        <interface type='network'>
>          <source network='xyx'/>
>        </interface>
>        ...
>     </domain>
>
>     would provide the connectivity that my Calico project wants to set
>     up [1] - i.e. where all data to and from VMs is routed on the
>     compute host - instead of
>
>     <domain>
>        ...
>        <interface type='ethernet'>
>          ...
>        </interface>
>        ...
>     </domain>
>
>     Do you happen to know how data gets routed _to_ a VM, in the
>     type='network' case?
>
>     Regards,
>              Neil
>
>
>     [1] http://docs.projectcalico.org/en/latest/home.html
>
>
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe:
>     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



More information about the OpenStack-dev mailing list