linuxbrige manages non linuxbridge ports

Bug #1736650 reported by Sam Morrison
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Won't Fix
Undecided
Unassigned

Bug Description

In our ML2 environment we have 2 mech drivers, linuxbridge and midonet.

We have linuxbridge and midnet networks bound to instances on the same compute nodes. All works well except the midonet ports get marked as DOWN. I've traced this back to the linuxbridge agent.

It seems to mark the midonet ports as DOWN. I can see the midonet port IDs in the linuxbridge logs.

Steps to reproduce:

Config:

[ml2]
type_drivers=flat,midonet,uplink
path_mtu=0
tenant_network_types=midonet
mechanism_drivers=linuxbridge,midonet

Boot an instance with a midonet nic, you will note port is DOWN.
Stop linuxbridge agent and repeat, port will be ACTIVE
start linux bridge agent and existing midonet ports will change to DOWN

This is running stable/ocata

Tags: linuxbridge
tags: added: linuxbridge
Revision history for this message
Sam Morrison (sorrison) wrote :

I've been digging into the code and it works like this.

The linux bridge agent does an RPC call to neutron server get_devices_details_list

The agent passes in all the devices on the host which can include linuxbridge and midonet interfaces.
At also for some reason changes the state of all the ports to BUILD (This I think should also be changed as a method called "get_devices_details_list" shouldn't change state?)

Once the agent has all the device details it marks them all ACTIVE or DOWN based on linuxbridge logic.

So 2 options:
The linuxbridge agent could only send up devices that are managed by linuxbrige. This could be expensive as it doesn't know what type the devices are.

Or:
neutron-server could only return devices that should be managed by the agent. This could be easier as the server knows the agent ID and has the port information so could somehow filter ports by agent type.

Any suggestions would be great as I don't know the neutron codebase that well

Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

note: midonet and linuxbridge use the same interface naming rules. (TAP_PREFIX + truncated uuid)
it seems nothing prevents an agent to update status of ports which actually belong to another mech driver.
probably we should use agent-id or (host-id, mech) pair to identify port binding.

Changed in neutron:
status: New → Confirmed
Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :
Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Bug closed due to lack of activity, please feel free to reopen if needed.

Changed in neutron:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.