[Openstack-operators] neutron flat network on existing bridge fails
Paul Dekkers
paul.dekkers at surfnet.nl
Mon Aug 29 08:53:20 UTC 2016
Hi,
----- On Aug 17, 2016, at 3:32 AM, James Denton james.denton at rackspace.com wrote:
> I don’t have the exact steps offhand, but you should be able to create a veth
> pair manually, attach one end to your existing bridge, and specify the other
> end in the bridge_mappings section. Make sure you set both ends up using ‘ip
> link set <dev> up’ prior to this. The veth pair will end up linking the bridges
> together.
That suggestion does indeed work (though it feels a bit dirty ;-)),
ip link add dev veth1 type veth peer name veth2
ip link set dev veth1 up
ip link set dev veth2 up
> Nova/Neutron should still handle putting the tap interface of the instance in
> the bridge, even if bridge_mappings is wrong or not working. The port’s device
> owner is compute:nova, which likely explains the message you saw in the log.
Which is strange, because the owner can't be set by the OS' interface-scripts creating the bridge (or nova tried to do the work before libvirt but that failed), but anyway,
> Hope that helps!
Thanks for the suggestion,
Paul
> James
>
>
> From: Paul Dekkers <paul.dekkers at surfnet.nl>
> Date: Tuesday, August 16, 2016 at 12:18 PM
> To: George Paraskevas <paraskgeor at gmail.com>, openstack-operators
> <openstack-operators at lists.openstack.org>
> Subject: Re: [Openstack-operators] neutron flat network on existing bridge fails
>
> Hi,
>
> Thanks for your suggestion - I don't think that's it, because that gives me:
>
> Unable to add br224 to brqf709c220-fd! Exception: Exit code: 1; Stdin: ; Stdout:
> ; Stderr: device br224 is a bridge device itself; can't enslave a bridge device
> to a bridge device.
>
> and
>
> Skip adding device tapf99013c6-6b to brqf709c220-fd. It is owned by compute:nova
> and thus added elsewhere. _add_tap_interface
> /usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:473
>
> while this tapf99013c6-6b now actually is enslaved to brqf709c220-fd, even with
> the wrong physical_interface_mappings setting. So I guess it's ignored because
> of the error, or some other code built that bridge (nova? as it's owned by
> compute:nova ? I had no idea a bridge/interface could have an owner...)
>
> Regards,
> Paul
>
>
> On 16-08-16 17:39, George Paraskevas wrote:
>
> Hello,
> With Linux bridge, I believe you should use physical _interface_mappings
> =provider:br224
> Beat regards
> George
>
> On Tue, 16 Aug 2016, 16:48 Paul Dekkers,
> <paul.dekkers at surfnet.nl<mailto:paul.dekkers at surfnet.nl>> wrote:
> Hi,
>
> I'm using Ubuntu 16.04.1 with it's Mitaka release, and neutron flat
> networking with linuxbridge+ml2:
>
> I'd like to attach my flat neutron network to an existing linuxbridge on
> my system. This fails with an error like:
>
> 2016-08-16 15:07:00.711 7982 DEBUG
> neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent
> [req-720266dc-fe8d-47c4-a7df-19fee7a8d679 - - - - -] Skip adding device
> tapf99013c6-6b to br224. It is owned by compute:nova and thus added
> elsewhere. _add_tap_interface
> /usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py:473
>
> with the result that the tap interface is added to a newly created
> bridge instead of the existing (br224) bridge.
>
> I've set
> bridge_mappings = provider:br224
> in /etc/neutron/plugins/ml2/linuxbridge_agent.ini
>
> (because if I use
> physical_interface_mappings = provider:vlan224
> the vlan224 interface is actually detached from the original bridge)
>
> I've created the bridge via /etc/network/interfaces:
>
> auto br224
> iface br224 inet manual
> bridge_ports vlan224
>
> auto vlan224
> iface vlan224 inet manual
> vlan_raw_device eno1
>
> Reason for doing this is that I'd like to attach an lxc container to
> this bridge (and only when neutron needs it the "brqf709c220-fd" (with
> for me an unpredictable name) is setup, so I can't use that), and/or
> like to have the machine itself use an interface on this network. (This
> is also my reason for using flat networking, and not vlan.)
>
> I've created the neutron networks with
>
> neutron net-create default --shared --provider:physical_network provider
> --provider:network_type flat
>
> (I would repeat this with a different physical_network name if I need
> more VLANs, instead of using the --provider:segmentation_id.)
>
> Instance networking works when I let nova/neutron create the bridge
> interfaces.
>
> Any idea why neutron refuses to use the bridge_mappings and why it
> creates a new interface?
>
> Regards,
> Paul
>
> P.S. To me it feels like this is what people would need when setting up
> a small single-network setup (both for instances and OpenStack), but
> most examples use multiple networks anyway.
>
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org<mailto:OpenStack-operators at lists.openstack.org>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
More information about the OpenStack-operators
mailing list