Public bug reported:

Affected releases: The offending line [0] seems to be 7 years old, so I
think pretty much all relevant releases

The ovsdb-client should be able to `wait` on clustered database [1]:

> ovsdb-client  supports  the  method1,method2,...,methodN syntax described in 
> ovsdb(7) for connecting to a
  cluster.  When this syntax is used, ovsdb-client tries the cluster members in 
random order until it finds
  the cluster leader.  Specify the --no-leader-only option to instead accept 
any server that  is  connected
  to the cluster.

However attempting to supply comma-separated list of connection methods
results in failure.

# First host works individually
root@movn1:~# ovsdb-client -t 10 wait ssl:10.75.224.138:6641 OVN_Northbound 
connected
2025-10-15T12:23:11Z|00001|reconnect|INFO|ssl:10.75.224.138:6641: connecting...
2025-10-15T12:23:11Z|00002|reconnect|INFO|ssl:10.75.224.138:6641: connected

# Second host works individually
root@movn1:~# ovsdb-client -t 10 wait ssl:10.75.224.183:6641 OVN_Northbound 
connected
2025-10-15T12:23:18Z|00001|reconnect|INFO|ssl:10.75.224.183:6641: connecting...
2025-10-15T12:23:18Z|00002|reconnect|INFO|ssl:10.75.224.183:6641: connected

# Both hosts separated by comma give address family error.
root@movn1:~# ovsdb-client -t 10 wait 
ssl:10.75.224.138:6641,ssl:10.75.224.183:6641 OVN_Northbound connected
2025-10-15T12:23:22Z|00001|stream_ssl|ERR|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connect: Address family not supported by protocol
2025-10-15T12:23:22Z|00002|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connecting...
2025-10-15T12:23:22Z|00003|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connection attempt failed (Address family not supported by protocol)
2025-10-15T12:23:23Z|00004|stream_ssl|ERR|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connect: Address family not supported by protocol
2025-10-15T12:23:23Z|00005|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connecting...
2025-10-15T12:23:23Z|00006|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connection attempt failed (Address family not supported by protocol)
2025-10-15T12:23:23Z|00007|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 waiting 2 seconds before reconnect

The root cause seems to be parsing of the arguments in the `do_wait`
function [0]. It can be compared to parsing for `do_needs_conversion`
[2] where the multiple methods do work.

root@movn1:~# ovsdb-client -t 10 needs-conversion 
ssl:10.75.224.183:6641,ssl:10.75.224.138:6641 
/snap/microovn/current/share/ovn/ovn-nb.ovsschema
2025-10-15T14:40:15Z|00001|reconnect|INFO|ssl:10.75.224.183:6641: connecting...
2025-10-15T14:40:15Z|00002|reconnect|INFO|ssl:10.75.224.183:6641: connected
2025-10-15T14:40:15Z|00003|reconnect|INFO|ssl:10.75.224.183:6641: connection 
attempt timed out
2025-10-15T14:40:15Z|00004|reconnect|INFO|ssl:10.75.224.138:6641: connecting...
2025-10-15T14:40:15Z|00005|reconnect|INFO|ssl:10.75.224.138:6641: connected
2025-10-15T14:40:15Z|00006|ovsdb|WARN|/snap/microovn/current/share/ovn/ovn-nb.ovsschema:
 changed 2 columns in 'OVN_Northbound' database from ephemeral to persistent, 
including 'status' column in 'Connection' table, because clusters do not 
support ephemeral columns
no

[0] 
https://github.com/openvswitch/ovs/blame/ad0d646a3f6400c5c44655ae69d6e711270887ed/ovsdb/ovsdb-client.c#L2456
[1] https://manpages.ubuntu.com/manpages/noble/man1/ovsdb-client.1.html
[2] 
https://github.com/openvswitch/ovs/blame/ad0d646a3f6400c5c44655ae69d6e711270887ed/ovsdb/ovsdb-client.c#L1676

** Affects: openvswitch (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  Affected releases: The offending line [0] seems to be 7 years old, so I
  think pretty much all relevant releases
- 
  
  The ovsdb-client should be able to `wait` on clustered database [1]:
  
  > ovsdb-client  supports  the  method1,method2,...,methodN syntax described 
in ovsdb(7) for connecting to a
-   cluster.  When this syntax is used, ovsdb-client tries the cluster members 
in random order until it finds
-   the cluster leader.  Specify the --no-leader-only option to instead accept 
any server that  is  connected
-   to the cluster.
+   cluster.  When this syntax is used, ovsdb-client tries the cluster members 
in random order until it finds
+   the cluster leader.  Specify the --no-leader-only option to instead accept 
any server that  is  connected
+   to the cluster.
  
  However attempting to supply comma-separated list of connection methods
  results in failure.
  
  # First host works individually
  root@movn1:~# ovsdb-client -t 10 wait ssl:10.75.224.138:6641 OVN_Northbound 
connected
  2025-10-15T12:23:11Z|00001|reconnect|INFO|ssl:10.75.224.138:6641: 
connecting...
  2025-10-15T12:23:11Z|00002|reconnect|INFO|ssl:10.75.224.138:6641: connected
  
  # Second host works individually
  root@movn1:~# ovsdb-client -t 10 wait ssl:10.75.224.183:6641 OVN_Northbound 
connected
  2025-10-15T12:23:18Z|00001|reconnect|INFO|ssl:10.75.224.183:6641: 
connecting...
  2025-10-15T12:23:18Z|00002|reconnect|INFO|ssl:10.75.224.183:6641: connected
  
  # Both hosts separated by comma give address family error.
  root@movn1:~# ovsdb-client -t 10 wait 
ssl:10.75.224.138:6641,ssl:10.75.224.183:6641 OVN_Northbound connected
  
2025-10-15T12:23:22Z|00001|stream_ssl|ERR|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connect: Address family not supported by protocol
  
2025-10-15T12:23:22Z|00002|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connecting...
  
2025-10-15T12:23:22Z|00003|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connection attempt failed (Address family not supported by protocol)
  
2025-10-15T12:23:23Z|00004|stream_ssl|ERR|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connect: Address family not supported by protocol
  
2025-10-15T12:23:23Z|00005|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connecting...
  
2025-10-15T12:23:23Z|00006|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 connection attempt failed (Address family not supported by protocol)
  
2025-10-15T12:23:23Z|00007|reconnect|INFO|ssl:10.75.224.138:6641,ssl:10.75.224.183:6641:
 waiting 2 seconds before reconnect
  
- 
  The root cause seems to be parsing of the arguments in the `do_wait`
  function [0]. It can be compared to parsing for `do_needs_conversion`
  [2] where the multiple methods do work.
  
- root@movn1:~# microovn.ovsdb-client -t 10 needs-conversion 
ssl:10.75.224.183:6641,ssl:10.75.224.138:6641 
/snap/microovn/current/share/ovn/ovn-nb.ovsschema 
+ root@movn1:~# ovsdb-client -t 10 needs-conversion 
ssl:10.75.224.183:6641,ssl:10.75.224.138:6641 
/snap/microovn/current/share/ovn/ovn-nb.ovsschema
  2025-10-15T14:40:15Z|00001|reconnect|INFO|ssl:10.75.224.183:6641: 
connecting...
  2025-10-15T14:40:15Z|00002|reconnect|INFO|ssl:10.75.224.183:6641: connected
  2025-10-15T14:40:15Z|00003|reconnect|INFO|ssl:10.75.224.183:6641: connection 
attempt timed out
  2025-10-15T14:40:15Z|00004|reconnect|INFO|ssl:10.75.224.138:6641: 
connecting...
  2025-10-15T14:40:15Z|00005|reconnect|INFO|ssl:10.75.224.138:6641: connected
  
2025-10-15T14:40:15Z|00006|ovsdb|WARN|/snap/microovn/current/share/ovn/ovn-nb.ovsschema:
 changed 2 columns in 'OVN_Northbound' database from ephemeral to persistent, 
including 'status' column in 'Connection' table, because clusters do not 
support ephemeral columns
  no
  
- 
  [0] 
https://github.com/openvswitch/ovs/blame/ad0d646a3f6400c5c44655ae69d6e711270887ed/ovsdb/ovsdb-client.c#L2456
  [1] https://manpages.ubuntu.com/manpages/noble/man1/ovsdb-client.1.html
  [2] 
https://github.com/openvswitch/ovs/blame/ad0d646a3f6400c5c44655ae69d6e711270887ed/ovsdb/ovsdb-client.c#L1676

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2127931

Title:
  'ovsdb-client wait' does not accept multiple servers

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2127931/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to