Repository navigation
Sync csa-v1.6-branch branch with release_2.9-1.6 - #1271
silabs-matter-ci-bot[bot] wants to merge 1 commit into
Conversation
…tch entries by value (backport #74429) (#74705) * Add test case 2.5 for the Joint Fabric data store (#72151) * Add test case 2.5 for the Joint Fabric data store * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Address review comments and fix indentation in TC_JFDS_2_5 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix formatting issues * Implement JFDS Test_Script_2.5 PR review comments * Address review comments --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (cherry picked from commit 53c2605) This backport leaves out src/python_testing/TC_JFDS_2_5.py. * [JF] Fix TC_JFDS_2_5 and TC_JFDS_BindingSync failures on master (#74425) * [JF] Fix TC_JFDS_2_5 and TC_JFDS_BindingSync failures on master TC_JFDS_2_5 ran TH2 on the groupcast-enabled all-clusters-app, whose Groups cluster is the revision 5 stub that answers GetGroupMembership and AddGroup with InvalidInState. The JF Administrator syncs group membership through those commands, so TH2 now uses the no-groupcast all-clusters-app, which keeps the legacy Groups cluster that the test and its plan assume. TC_JFDS_BindingSync read the target's Binding list on endpoint 0. Since #72151 the JF Administrator writes each binding on the datastore entry's EndpointID, so the test now reads the endpoint it adds the binding to. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * [JF] Mark TC_JFDS_2_5 as MatterTestCommissioner TestDeviceRequirementMarkers requires every concrete test to derive from a device-requirement marker. TC_JFDS_2_5 merged in #72151 after that guard landed in #73243 and still derived from bare MatterBaseTest. It commissions the JF Administrator DUT itself, like the other TC_JFDS_2_x tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit f935302) This backport leaves out src/python_testing/TC_JFDS_2_5.py. * [JF] Joint Fabric Datastore: record sync failures, retry removals, match entries by value (#74429) Changes of #74429 at its head 889d065df3 (base cbcf92f), which is not yet merged on master. Its commits: * fix(jfds): compare CommitFailed failureCode as an IM Status Code * feat(jfds): add value-identity matching for ACL and binding entries * fix(jfds): record failed syncs as CommitFailed * fix(jfds): tear down RefreshNode in one place * fix(jfds): match refreshed ACL entries by value * fix(jfds): send the real entry when removing groups and key sets * fix(jfds): limit RefreshNode's binding merge to the fetched endpoint * fix(jfds): keep removing entries whose removal failed unrecoverably * fix(jfds): serialize read-modify-write syncs per node * fix(jf-admin-app): replace and remove ACL and binding entries by value * test(jfds): update RefreshNode comment in TC_JFDS_BindingSync * fix(jfds): log RefreshNode stage failures * [pre-commit.ci] auto fixes from pre-commit.com hooks * test(jfds): pass MakeEndpointGroupEntry's failure code as uint8_t * fix(jfds): do not commit ACL updates made during RefreshNode's write * fix(jfds): ignore group and key set removals cancelled by an add * fix(jfds): match ACL entries by value in AddACLToNode * [pre-commit.ci] auto fixes from pre-commit.com hooks * refactor(jfds): store removal intent on binding, group and key set entries * fix(jfds): queue group and key set syncs per node, and answer BUSY when full * fix(jfds): discard syncs in flight when the joint fabric is removed * refactor(jfds): share duplicated sync bookkeeping * fix(jfds): propagate CAT changes to encoded ACL subjects * [pre-commit.ci] auto fixes from pre-commit.com hooks * test(jfds): read recorded ACL syncs through checked accessors * fix(jfds): reject reserved and zero GroupCAT values * fix(jfds): leave ACL entries being removed out of UpdateGroup * fix(jfds): record the value an ACL update left on a node being removed * fix(jfds): reject epoch keys that are not 16 bytes * fix(jfds): do not replace a node's ACL when its entries cannot be adopted * fix(jfds): keep the ACL value a node holds while its update is unapplied * fix(jfds): sync each new entry alone when a refresh list write fails * fix(jfds): record the ACL value a refresh wrote for an entry being removed * fix(jfds): keep a full ACL list from blocking refreshes and removals * refactor(jfds): queue a refresh's per-entry re-syncs by key * fix(jfds): reject an unknown key set security policy in AddKeySet * fix(jfds): sync a key set updated while its write is in flight * fix(jfds): limit a refresh's key-set syncs to the refreshed node * fix(jfds): don't commit a refreshed group entry changed during its sync * fix(jfds): change the sync revision when a removal is cancelled * fix(jfds): classify transport timeouts and busy errors * fix(jfds): drop a key-set removal the node no longer needs * test(jfds): expect Committed in TC-JFDS-2.5 step 33 * test(jfds): tighten tests that pass without the behavior they check * test(jfds): move the fabric removal comment to its test * fix(jfds): define ResetRefreshState in the header This backport leaves out src/python_testing/TC_JFDS_2_5.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
The check for |
|
Arghya Dutta (@silabs-ArghyaD) do we want to pick this up to have latest 1.6 branch? |
Hi Michael Duggan (@miduggan24), following what Narendra said - https://silabsiot.slack.com/archives/C08E2BYCG0G/p1791468500304679, as we're already at code freeze, let us not add any more commits to the 26Q2 patch branch (including the CSA sync) to avoid any last minute issues |
ok opened #1275 to prevent future syncs |
|
closing since release_2.9-1.6 at code freeze |
This PR syncs the csa-v1.6-branch branch with the release_2.9-1.6 branch.
PR MUST BE MERGED WITH MERGE COMMIT - ADMIN MUST ENABLE THE OPTION