Comments (6)
I ran into this last week and moved br-vlan to an unbridged interface. I'm working through a build with a flat network right now, I'll provide more information [when,if] I encounter it again.
-Alex
from ansible-lxc-rpc.
This is definitely a problem, I can totally see it now that it's come up. Neutron will refuse to bridge bridges, as the error message indicates, and for is_metal
boxen (compute nodes) where we're not using containers, we're making use of the container_bridge
key for networks instead of container_interface
because we didn't account for interfaces like eth11
not existing on compute nodes.
On network nodes, an eth11
would be created by default inside of the neutron-agents container, but this obviously won't happen for us on compute nodes, since nova-compute is no longer containerized. Seems like the simplest solution is to change up the example interfaces file to create a veth pair with the appropriate name to emulate the containerization process.
For instance:
auto br-vlan
iface br-vlan inet manual
# Create veth pair, don't bomb if already exists
pre-up ip link add br-vlan-veth type veth peer name eth11 || true
# Set both ends UP
pre-up ip link set br-vlan-veth up
pre-up ip link set eth11 up
# Set bridge UP/DOWN
up ip link set $IFACE up
down ip link set $IFACE down
# Delete veth pair on DOWN
post-down ip link del br-vlan-veth || true
# Add bond1 trunk and one veth end to bridge
bridge_ports bond1 br-vlan-veth
Theory here being we create a veth pair with a unique name based on the bridge it's going in, and the other end is the same name it would have if it were in a container, so we just need to make sure the ml2_conf.ini mappings on compute nodes aren't doing anything different than non-compute nodes.
from ansible-lxc-rpc.
@cloudnull
Kevin, what were you doing here when this error came up? I haven't been able to reproduce. The neutron linuxbridge agent on the compute host doesn't ever try to add the br-vlan bridge to a brqXXXX bridge on my build. VM traffic is only sent through the br-vxlan interface.
-Alex
from ansible-lxc-rpc.
@ELEXTRO This would be expected when creating a flat type neutron network, like so:
neutron net-create --provider:network_type=flat --provider:physical_network=vlan flat-net1
The vlan
network name is mapped in the ml2_conf.ini
to the br-vlan
bridge on compute nodes, but to eth11
in neutron-agents containers, as I mentioned in my comment above. This results in neutron trying to create a linux bridge and putting the mapped interface inside of it -- namely, the br-vlan
bridge. This is when it fails.
In your build, it sounds like you're only creating VXLAN type networks, which will create a vxlan interface "based on" the mapped interface (where the mapping is named vxlan
in neutron), which doesn't require bridging an interface directly -- instead it's indirectly "attached" to an interface, which can be a bridge interface, such as br-vxlan
. Then, neutron adds this new vxlan interface to the brqXXXX
bridge it creates, and there's no problem with it operating this way.
Likewise, with VLAN-type networks, neutron creates a VLAN-tagged interface, again, based on the mapped interface (br-vlan
), and then the brqXXXX
bridges this new tagged interface, and again there's no problem.
from ansible-lxc-rpc.
I created the flat network and implemented emulated containerization with the veth pairs as stated above, everything seems to be running as expected. Eth11 gets added to the linux bridge without throwing an error. You guys just have to make sure ml2_conf.ini is the same for compute hosts and the neutron agent containers if you decide to go this way.
-Alex
from ansible-lxc-rpc.
What happened to this issue?
from ansible-lxc-rpc.
Related Issues (20)
- XML Tempest tests are failing
- Please add the DiskFilter to the nova default scheduler option HOT 1
- Jenkins jobs queuing indefinitely HOT 2
- deployment takes ~20mins to create containers HOT 2
- rsyslog container safe_upgrade tasks add ~5 mins to deployment time
- openjdk-7-jre installation into multiple containers adds ~20mins to deployment time
- ansible logging: keystone user/tenant/role changes could do with improvement
- Automatically register swift monitors HOT 1
- jenkins: add ansible timestamp callback plugin HOT 1
- jenkins: build fresh container base image(s) on a daily basis
- The container build/setup process is slow and clunky HOT 1
- Update glance policy.json with new permissions defaults.
- glance module doesn't allow for non-public endpoint types.
- neutron module doesn't allow for non-public endpoint types.
- Ansible lint'ing
- Keystone is not using the proper cache vip for dogpile cache
- tempest_resources role creates subnet w/ no name
- kibana: add more dashboards with different user viewpoints
- holland-commvault deb has a dependency on holland HOT 1
- Instance of hardcoded secret HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ansible-lxc-rpc.