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

Reply via email to