Thank you Jacob and Rosemarie. I removed the "check check" that Rosemarie pointed out. I also fixed a typo in the commit message (s/exculding/excluding/). I pushed the change to main, branch-26.09 and branch-26.03.
On Fri, Oct 23, 2026 at 2:58 PM Jacob Tanenbaum via dev <[email protected]> wrote: > > Currently AT_CHECK is called inside of OVS_WAIT_UNTIL macro and that > does not perform as intended. Failing an AT_CHECK exits the test case > subshell so the OVS_WAIT_UNTIL macro never gets the chance to retry. > > remove the AT_CHECK from rbr_match_builtin() and rbr_match_custom() so > that OVS_WAIT_UNTIL can rety those functions. > > Additionally the regex > > s/<[[^<>]]>*//g > > causes the error > > ovn-sbctl: permissions:Service_Monitor0>: trailing garbage ">" in argument > > because it matches one character inside of "<" and an arbitrary number > of ">" exculding "<" and ">". Changing the regex to > > s/<[[^<>]]*>//g > > so that it will match an arbitrary number of characters inside "<" and > ">" excluding ">" and "<". > > Fixes: e65fb9efe286 ("northd: Fix issues in RBAC tables recovery.") > Signed-off-by: Jacob Tanenbaum <[email protected]> > --- > tests/ovn-northd.at | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at > index d9682f78e..410730cc1 100644 > --- a/tests/ovn-northd.at > +++ b/tests/ovn-northd.at > @@ -16703,7 +16703,7 @@ AT_SETUP([RBAC -- Recover builtin role and > permissions]) > ovn_start > > wait_row_count RBAC_Role 1 name=ovn-controller > -RBR_BUILTIN_PNAMES=$(fetch_column RBAC_Role permissions name=ovn-controller > | uuidfilt | sed -e 's/<[[^<>]]>*//g' | tr -d '=,{}') > +RBR_BUILTIN_PNAMES=$(fetch_column RBAC_Role permissions name=ovn-controller > | uuidfilt | sed -e 's/<[[^<>]]*>//g' | tr -d '=,{}') > > declare -A RBR_BUILTIN_PERM > > @@ -16714,15 +16714,15 @@ do > done > > rbr_match_builtin() { > - local RBR_REAL_PNAMES=$(fetch_column RBAC_Role permissions > name=ovn-controller | uuidfilt | sed -e 's/<[[^<>]]>*//g' | tr -d '=,{}') > + local RBR_REAL_PNAMES=$(fetch_column RBAC_Role permissions > name=ovn-controller | uuidfilt | sed -e 's/<[[^<>]]*>//g' | tr -d '=,{}') > > - AT_CHECK([test "$RBR_BUILTIN_PNAMES" == "$RBR_REAL_PNAMES"]) > + test "$RBR_BUILTIN_PNAMES" == "$RBR_REAL_PNAMES" || return 1 > > for V in $RBR_BUILTIN_PNAMES > do > local _UUID=`ovn-sbctl get RBAC_Role ovn-controller permissions:$V` > local RBR_REAL_PERM=`ovn-sbctl get RBAC_Permission $_UUID authorization > insert_delete table update | paste -s -d " "` > - AT_CHECK([test "${RBR_BUILTIN_PERM[[$V]]}" == "$RBR_REAL_PERM"]) > + test "${RBR_BUILTIN_PERM[[$V]]}" == "$RBR_REAL_PERM" || return 1 > done > } > > @@ -16735,13 +16735,13 @@ rbr_match_custom() { > [[Load_Balancer]]='[[]] false Load_Balancer [[]]' > ) > > - AT_CHECK([test "$RBR_BUILTIN_ROLE" == "$RBR_REAL_ROLE"]) > + test "$RBR_BUILTIN_ROLE" == "$RBR_REAL_ROLE" || return 1 > > for V in $RBR_BUILTIN_PNAMES > do > local _UUID=`ovn-sbctl get RBAC_Role custom-role permissions:$V` > local _PREAL=`ovn-sbctl get RBAC_Permission $_UUID authorization > insert_delete table update | paste -s -d " "` > - AT_CHECK([test "${RBR_BUILTIN_PERM[[$V]]}" == "$_PREAL"]) > + test "${RBR_BUILTIN_PERM[[$V]]}" == "$_PREAL" || return 1 > done > } > > -- > 2.56.0 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
