[RFE] Add RPC query API to l2pop for FDB resync
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Won't Fix
|
Wishlist
|
ChenjieXu |
Bug Description
Problem Description
=======
Layer 2 population (l2pop) provides L2populationRpc
For now L2 agent (OVS agent and Linuxbridge agent) inherits the class L2populationRpc
However, in some scenarios, the agent needs to get the full FDB from Neutron. For example: agent restart and adding a new agent. To address the above scenarios, l2pop mechanism driver will check the port number on the agent or agent uptime after updating a port. If the number equals 1 or agent uptime less than agent_boot_time, l2pop mechanism driver will send the full FDB to the agent. This mechanism works fine with l2 agent. However, if other agents which try to implement l2pop don’t have ports, then the l2pop mechanism driver won’t be triggered to check the port number on the agent or agent uptime. As a result of that, no FDB will be sent to the agent in the scenarios that the agent restarts and adding a new agent.
Based on the above analysis, we proposed to add a new mechanism to cover the scenario (agent restart and adding new agent) for other agents that may implement l2pop.
Proposed Change
=======
The idea is to extend the l2pop RPC handlers to allow an agent to query the full FDB for a list of network_id values. Class L2populationRpc
get_
This method will send an RPC request to topic “q-plugin-
Listeners should be created in l2pop mechanism driver to consume the topic “q-plugin-
get_
Finally full FDB entries can be returned to the agent.
All changes can be viewed through the link below:
https:/
Data Model Impact
=======
None
REST API Impact
=======
None
Command Line Client Impact
=======
None
Other Impact
=======
None
Other Deployer Impact
=======
None
Performance Impact
=======
None
Implementation
=======
Assignee(s)
Work Items
=======
• Add class L2populationRpc
• Add class L2populationSer
• Add L2populationServer, method get_fdb_entries and _get_fdb_entries to L2populationMec
• Add related tests.
Dependencies
=======
None
Testing
=======
Unit tests are necessary.
Documentation Impact
=======
None.
References
=======
None
Changed in neutron: | |
assignee: | nobody → ChenjieXu (midone) |
tags: | added: rfe |
description: | updated |
Thank you for your RFE report.
I see that a related RFE (https:/ /bugs.launchpad .net/neutron/ +bug/1793653) was already triaged. Unless this one was discussed already please bring this similarly to the neutron-drivers meeting (every Friday at 14:00 UTC) the next time you can:
http:// eavesdrop. openstack. org/#Neutron_ drivers_ Meeting