Bug 1949052

Summary: [OVN][RFE] Make Neutron workers connect to replica OVSDB SB servers in read only mode
Product: Red Hat OpenStack Reporter: Daniel Alvarez Sanchez <dalvarez>
Component: python-networking-ovnAssignee: OSP Team <rhos-maint>
Status: NEW --- QA Contact: Eran Kuris <ekuris>
Severity: medium Docs Contact:
Priority: medium    
Version: 16.1 (Train)CC: apevec, jmelvin, lhh, lmartins, majopela, rkhan, scohen, twilson
Target Milestone: ---Keywords: FutureFeature, Performance
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Alvarez Sanchez 2021-04-13 10:35:52 UTC
In order to improve scaling and reduce the load to OVSDB SB servers, Neutron could connect to OVSDB replication SB servers in read-only mode.

So far, the main use case of writing to SB database is the agent liveness checks where Metadata agents write to the Chassis Private table to reflect that they are alive. Theoretically, this can be avoided by writing into local OVSDB and let ovn-controller copy it over to the SB database.

The purpose of this BZ is to research if we can stop writing (or at least reduce the number of 'writing' connections) to SB database and distribute the reading load across the Active/Passive cluster.

Thanks to Ilya Maximets & Dumitru Ceara for the ideas.

Comment 1 Lucas Alvares Gomes 2021-04-13 10:43:19 UTC
(In reply to Daniel Alvarez Sanchez from comment #0)
> In order to improve scaling and reduce the load to OVSDB SB servers, Neutron
> could connect to OVSDB replication SB servers in read-only mode.
> 
> So far, the main use case of writing to SB database is the agent liveness
> checks where Metadata agents write to the Chassis Private table to reflect
> that they are alive. Theoretically, this can be avoided by writing into
> local OVSDB and let ovn-controller copy it over to the SB database.
> 

There“s a drawback with this approach. The Chassis_Private table was introduced to avoid triggering events every where when we write to the Chassis table and currently, updating the local OVSDB will make ovn-controller to write to the Chassis table again (not Chassis_Private) which will re-introduce the triggering problem.

Comment 2 Terry Wilson 2021-04-13 13:14:02 UTC
I think the agent delete support patch (https://review.opendev.org/c/openstack/neutron/+/752795/) already removes our writes to sbdb.