Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 2223578

Summary: [RFE] [OVN-IC] [Debugging] Enhance ovn-*bctl to connect across multiple sets of DBs
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Surya Seetharaman <surya>
Component: OVNAssignee: OVN Team <ovnteam>
Status: CLOSED WONTFIX QA Contact: Jianlin Shi <jishi>
Severity: unspecified Docs Contact:
Priority: medium    
Version: FDP 23.ACC: ctrautma, dcbw, jiji, mmichels
Target Milestone: ---   
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: 2024-02-14 21:16:00 UTC 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 Surya Seetharaman 2023-07-18 10:17:06 UTC
Description of problem:
As OVNK moves to using the Interconnect architecture, we are going to have to pay attention to the debugging aspects of OVN a bit closer.

Since scale is primary aim for the IC architecture; imagine a 500 or 1000 node cluster where we will collect 500 or 1000 NBDB's and SBDB's, we need to be able to run the bctl commands against all of them at the same time

See https://redhat-internal.slack.com/archives/C050MC61LVA/p1689675049225319?thread_ts=1689626101.828479&cid=C050MC61LVA for details

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Dan Williams 2023-07-21 13:49:51 UTC
Wouldn't it be trivial to write a Go wrapper like:

multi-ctl -p 9641 ovn-nbctl -p /ovn-cert/tls.key -c /ovn-cert/tls.crt -C /ovn-ca/ca-bundle.crt list Logical_Switch_Port

which then

(1) reads kAPI for list of nodes, grabs their internal address (or somehow gets the IP to use)
(2) constructs an actual args list with argv but putting "--db=<node IP>:9641" into the list at the right place
(3) optionally constructs a logfile path unique to each invocation, perhaps based on node name
(4) starts N goroutines where N = # nodes; executes the *ctl util and writes output to named logfile
(5) waits till they all finish
(6) maybe tars up all the logfiles and gzips it

I'd think it would be a lot easier in Go than in Bash or C.

Comment 2 OVN Bot 2024-02-14 21:15:59 UTC
This issue is being closed as an automatic process due to the issue's age. If you wish to re-open this issue, please do so in Jira (https://issues.redhat.com) in the 'FDP' project. Please be sure to set the component to the latest OVN version where this issue is known to occur. If this is a feature request or improvement, please set the component to 'OVN'.