linuxbrige manages non linuxbridge ports
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=
path_mtu=0
tenant_
mechanism_
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: | added: linuxbridge |
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. details_ list" shouldn't change state?)
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_
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