On 8/15/25 6:00 PM, Alexandra Rukomoinikova wrote: > The new --filter option accepts comma-separated rules to display > only matching chassis, ports or encapsulation types. > > Includes test cases and man page updates. > > Signed-off-by: Alexandra Rukomoinikova <arukomoinikova@k2.cloud> > --- > NEWS | 3 +++ > tests/ovn-sbctl.at | 48 +++++++++++++++++++++++++++++++++++++++ > utilities/ovn-sbctl.8.xml | 12 +++++++++- > 3 files changed, 62 insertions(+), 1 deletion(-) > > diff --git a/NEWS b/NEWS > index 0cce1790d..6478e75fb 100644 > --- a/NEWS > +++ b/NEWS > @@ -41,6 +41,9 @@ Post v25.03.0 > - Added support for running tests from the 'check-kernel' system test > target > under retis by setting OVS_TEST_WITH_RETIS=yes. See the 'Testing' > section > of the documentation for more details. > + - ovn-sbctl: > + * Added --filter option that allows filtering the command output based > + on the specified filter.
May remove the 'based on the specified filter.' part, it doesn't give any meaningful information. It's better to add something like 'See ovn-sbctl(8) for more details.' instead. This also needs a slight rebase due to all the patches merged yesterday and today. > > OVN v25.03.0 - 07 Mar 2025 > -------------------------- > diff --git a/tests/ovn-sbctl.at b/tests/ovn-sbctl.at > index cb2fd2d0a..b024fae28 100644 > --- a/tests/ovn-sbctl.at > +++ b/tests/ovn-sbctl.at > @@ -183,6 +183,54 @@ options : {vtep_logical_switch=l0, > vtep_physical_switch=p0} > > dnl --------------------------------------------------------------------- > > +OVN_SBCTL_TEST([ovn_sbctl_show_filter_option], [ovn-sbctl show filter > option], [ > + > +AT_CHECK([ovn-nbctl ls-add br-test]) > +AT_CHECK([ovn-nbctl lsp-add br-test vif0]) > +AT_CHECK([ovn-nbctl lsp-set-addresses vif0 f0:ab:cd:ef:01:02]) > +AT_CHECK([ovn-sbctl chassis-add ch0 geneve 1.2.3.1]) > +AT_CHECK([ovn-nbctl --wait=sb sync]) > +AT_CHECK([ovn-sbctl lsp-bind vif0 ch0]) > + > +AT_CHECK([ovn-sbctl show], [0], [dnl > +Chassis ch0 > + Encap geneve > + ip: "1.2.3.1" > + options: {csum="true} Somehow the closing quote got lost and the tests are failing. > + Port_Binding vif0 > +]) > + > +AT_CHECK([ovn-sbctl chassis-add ch2 geneve 1.2.3.2]) > +AT_CHECK([ovn-sbctl chassis-add ch3 geneve 1.2.3.3]) > +AT_CHECK([ovn-sbctl chassis-add ch4 vxlan 1.2.3.4]) > + > +AT_CHECK([ovn-sbctl --filter='ch2,ch3' show | grep Chassis | sort], [0], [dnl > +Chassis ch2 > +Chassis ch3 > +]) > + > +AT_CHECK([ovn-sbctl --filter='1.2.3.4,1.2.3.3' show | grep Chassis | sort], > [0], [dnl > +Chassis ch3 > +Chassis ch4 > +]) > + > +AT_CHECK([ovn-sbctl --filter='Encap(vxlan)' show | grep -E '(Chassis|Encap)' > | sort], [0], [dnl > + Encap vxlan > +Chassis ch0 > +Chassis ch2 > +Chassis ch3 > +Chassis ch4 > +]) > + > +AT_CHECK([ovn-sbctl --filter='Encap(vxlan),ch4' show | grep -E > '(Chassis|Encap)' | sort], [0], [dnl > + Encap vxlan > +Chassis ch4 > +]) > + > +]) > + > +dnl --------------------------------------------------------------------- > + > OVN_SBCTL_TEST([ovn_sbctl_connection], [ovn-sbctl - connection], [ > AT_CHECK([ovn-sbctl --inactivity-probe=30000 set-connection > ptcp:6641:127.0.0.1 punix:$OVS_RUNDIR/ovnsb_db.sock]) > AT_CHECK([ovn-sbctl list connection | grep inactivity_probe], [0], [dnl > diff --git a/utilities/ovn-sbctl.8.xml b/utilities/ovn-sbctl.8.xml > index 69ae62115..3df335e36 100644 > --- a/utilities/ovn-sbctl.8.xml > +++ b/utilities/ovn-sbctl.8.xml > @@ -279,9 +279,19 @@ > been initialized, this command has no effect. > </dd> > > - <dt><code>show</code></dt> > + <dt> > + > [<code>--filter=<var>filter-rule</var>[,<var>filter-rule</var>...]</code>] The closing bracket should be before the '...', also we need to close the <code> right after the '--filter=', so all the brackets are not highlighted in bold. i.e.: [<code>--filter=</code><var>filter-rule</var>[,<var>filter-rule</var>]...] > + <code>show</code> > + </dt> > <dd> > Prints a brief overview of the database contents. > + If <code>--filter</code> is specified, output is filtered according > to > + the rules. Each <var>filter-rule</var> has the form > + > <code><var>table-name</var>(<var>filter</var>[|<var>filter</var>]...)</code>. Here the <code> part only messes up fonts for all the braces and other stuff, so it's better to just drop it, i.e.: <var>table-name</var>(<var>filter</var>[|<var>filter</var>]...). > + If <var>table-name</var> is omitted, filtering is applied to > + the <code>Chassis</code> table by default. A row is shown only if its > + printed representation (including all referenced rows) contains at > + least one of the specified <var>filter</var> substrings. > </dd> > </dl> > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev