-
Epic
-
Resolution: Unresolved
-
Minor
-
None
-
[RFE] Add hash ring features to ovn-provider driver agent
-
False
-
-
False
-
Proposed
-
Proposed
-
Committed
-
Proposed
-
100% To Do, 0% In Progress, 0% Done
Currently the ovn-octavia-provider driver agents are running on all controllers, all of them are connected to OVN NB / SB DB but just one of them is locked to manage the events received.
After a further investigation on the hash ring manager used in neutron, a similar solution can be implemented in the driver-agent mentioned in order to take advantage of paralelism.
As the hash ring manager currently implement the concept of group, we can use this field to define a set of nodes under the group 'ovn-octavia-provider' in order to not work just only the driver agents isolated from the neutron workers.
The desirable solution, and given that ovn-octavia-provider already has a neutron-lib dependency, is that the hash-ring-manager functionality (currently in neutron core) is migrated to neutron-lib, where ovn-octavia-provider could take advantage of it and would not require a new dependency to talk to neutron-db, or more correctly octavia db, which would imply more profound changes. Given the special link between ovn-octavia-provider and neutron, this solution seemed to us to be the most appropriate.
This way the implementation would be simple in these steps:
- Removal of the current lock that only allows one driver agent to handle events.
- Use the hash-ring-manager imported from neutron-lib to distribute events on the available driver agents.
- external trackers