[Openstack] Tapping physical interfaces
irenab at mellanox.com
Mon Oct 6 05:41:01 UTC 2014
Seems that there is a problem at neutron side, that ML2 refuses to bind the port.
Can you please share the error you get at neutron server?
I am not sure, but seems that neutron ml2 configuration is not accurate.
With commands you share, I think you should change it as following:
bridge_mappings = physnet1:br-ex, br-eth1:br-eth1
The convention is <physical network label>: <bridge>
Hope it helps,
From: Don Waterloo [mailto:don.waterloo at gmail.com]
Sent: Monday, October 06, 2014 5:37 AM
To: openstack at lists.openstack.org
Subject: Re: [Openstack] Tapping physical interfaces
the vxlan part is definitely working, its the 'flat' part that i've just added which is not.
and, more specifically, its the ability to attach a nova instance to it. I'm not sure what i can do for screen shots, the error is the kind of generic:
[req-d7df11f2-0a13-49e6-acf4-69fff926519f 6f5b7388bbce42f7a53a2af62fb43f06 4ef0f0caa0884594b3fd5d39efc892dc] [instance: fba1b229-5e5e-429d-8e4f-fa6fd7898d21] Error from last host: amazing.sandvine.rocks (node amazing.sandvine.rocks): [u'Traceback (most recent call last):\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1329, in _build_instance\n set_access_ip=set_access_ip)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 393, in decorated_function\n return function(self, context, *args, **kwargs)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1741, in _spawn\n LOG.exception(_(\'Instance failed to spawn\'), instance=instance)\n', u' File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1738, in _spawn\n block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2284, in spawn\n write_to_disk=True)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3478, in to_xml\n disk_info, rescue, block_device_info)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3292, in get_guest_config\n flavor)\n', u' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 384, in get_config\n _("Unexpected vif_type=%s") % vif_type)\n', u'NovaException: Unexpected vif_type=binding_failed\n']
the 'unexpected vif_type' covers a wide variety of problems. I get this if i add boot with a port-id on the new flat network, or if i boot with the net-id of the new flat network.
On 5 October 2014 21:49, Don Waterloo <don.waterloo at gmail.com<mailto:don.waterloo at gmail.com>> wrote:
I have a system which is happily using vxlan type driver on icehouse
on ml2 / ovs.
I would now like to take on of the physical interfaces (eth1) and make
it available in a 'tap' to a specific instance. Imagine running
So i added the 'type_driver' flat:
type_drivers = vxlan,flat,local
tenant_network_types = vxlan
mechanism_drivers = openvswitch
I added the bridge_mapping in ovs (this i'm not sure of given the
tenant_network_type = vxlan
tunnel_type = vxlan
tunnel_id_ranges = 1:1000
integration_bridge = br-int
tunnel_bridge = br-tun
local_ip = 172.16.100.2
bridge_mappings = physnet1:br-ex,eth1:br-eth1,eth3:br-eth3
ovs-vsctl add-br br-eth1
ovs-vsctl add-port br-eth1 eth1
and I ran:
neutron net-create --shared --provider:network_type=flat
so far so good.
But i cannot get an instance to bind to this network. I've tried
manually creating a port and using --nic port-id=, i've tried letting
it add it. But i get Unexpected vif_type=binding_failed no matter what
In nova.conf I have
and i have port security disable fwiw.
Do someone have a recipe they want to share for this? Obviously this
works best on an 'all-in-one' which is what I have. Is someone else
out there having an instance directly bound to a physical port via a
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Openstack