Implements the frontend logic for gNSI Authz#549
Merged
sneelam20 merged 1 commit intosonic-net:masterfrom Mar 11, 2026
Merged
Conversation
Contributor
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
60e080d to
4f4134d
Compare
Contributor
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
4f4134d to
003e85c
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
003e85c to
5c1c836
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azp run |
|
Commenter does not have sufficient privileges for PR 549 in repo sonic-net/sonic-gnmi |
5c1c836 to
12cdb63
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
12cdb63 to
53c2782
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
@sreeiyer-1, Please review and approve. |
Contributor
Author
The changes look good |
ndas7
suggested changes
Jan 5, 2026
Contributor
ndas7
left a comment
There was a problem hiding this comment.
Could you please add more details in the description? Thanks.
Contributor
Author
Description is updated. |
53c2782 to
bfeda74
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
|
Could you please add a link to the HLD in the description? |
6f85472 to
ab532a2
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
ab532a2 to
8a936bd
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
8a936bd to
f0e679c
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
f0e679c to
c86bc6e
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
c86bc6e to
73df240
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
73df240 to
f1d3d7c
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
f1d3d7c to
c004521
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
c004521 to
afe1f66
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Signed-off-by: kanchanavelusamy <velusamyk@google.com>
afe1f66 to
7358b87
Compare
Contributor
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
sneelam20
approved these changes
Mar 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit enables support for policy-based authorization of gRPC requests in gNMI server and handles the Authz Rotate() RPC for secure policy updates.
HLD Reference : gNSI HLD
Dependency Chain for Merge
Please follow this merge order,
Backend Base PR: sonic-mgmt-common #sonic-net/sonic-mgmt-common#183 (Must be merged first)
Backend Incremental PR: sonic-mgmt-common #sonic-net/sonic-mgmt-common#200
Current PR: sonic-gnmi ##549
gNSI Authz - UT Results
=== RUN TestGnsiAuthzRotation
=== RUN TestGnsiAuthzRotation/RotateOpenClose
=== RUN TestGnsiAuthzRotation/RotateStreamRecvError
=== RUN TestGnsiAuthzRotation/RotateStreamSendError
=== RUN TestGnsiAuthzRotation/RotatePolicyEmptyRequest
=== RUN TestGnsiAuthzRotation/RotatePolicyEmptyUploadRequest
=== RUN TestGnsiAuthzRotation/RotatePolicyWrongJSON
=== RUN TestGnsiAuthzRotation/RotatePolicyNoVersion
=== RUN TestGnsiAuthzRotation/RotatePolicySuccess
=== RUN TestGnsiAuthzRotation/RotatePolicyNoFinalize
=== RUN TestGnsiAuthzRotation/RotateTheSamePolicyTwice
=== RUN TestGnsiAuthzRotation/RotateTheSamePolicyTwiceWithForceOverwrite
=== RUN TestGnsiAuthzRotation/ParallelRotationCalls
--- PASS: TestGnsiAuthzRotation (4.38s)
--- PASS: TestGnsiAuthzRotation/RotateOpenClose (0.02s)
--- PASS: TestGnsiAuthzRotation/RotateStreamRecvError (0.02s)
--- PASS: TestGnsiAuthzRotation/RotateStreamSendError (0.01s)
--- PASS: TestGnsiAuthzRotation/RotatePolicyEmptyRequest (0.02s)
--- PASS: TestGnsiAuthzRotation/RotatePolicyEmptyUploadRequest (0.02s)
--- PASS: TestGnsiAuthzRotation/RotatePolicyWrongJSON (0.02s)
--- PASS: TestGnsiAuthzRotation/RotatePolicyNoVersion (0.02s)
--- PASS: TestGnsiAuthzRotation/RotatePolicySuccess (0.02s)
--- PASS: TestGnsiAuthzRotation/RotatePolicyNoFinalize (0.02s)
--- PASS: TestGnsiAuthzRotation/RotateTheSamePolicyTwice (0.02s)
--- PASS: TestGnsiAuthzRotation/RotateTheSamePolicyTwiceWithForceOverwrite (0.02s)
--- PASS: TestGnsiAuthzRotation/ParallelRotationCalls (0.02s)
=== RUN TestGnsiAuthzRotateUnauthenticated
E0310 17:16:23.722383 2622035 gnsi_authz.go:71] authentication failed in Rotate RPC: rpc error: code = Unauthenticated desc = Unauthenticated
--- PASS: TestGnsiAuthzRotateUnauthenticated (6.31s)
=== RUN TestGnsiAuthzUnimplemented
=== RUN TestGnsiAuthzUnimplemented/ProbeUnimplemented
=== RUN TestGnsiAuthzUnimplemented/GetUnimplemented
--- PASS: TestGnsiAuthzUnimplemented (2.10s)
--- PASS: TestGnsiAuthzUnimplemented/ProbeUnimplemented (0.01s)
--- PASS: TestGnsiAuthzUnimplemented/GetUnimplemented (0.00s)
=== RUN TestCopyFile
=== RUN TestCopyFile/Success
=== RUN TestCopyFile/SrcNotExist
=== RUN TestCopyFile/SrcIsNotRegularFile
=== RUN TestCopyFile/DstParentNotExist
--- PASS: TestCopyFile (0.00s)
--- PASS: TestCopyFile/Success (0.00s)
--- PASS: TestCopyFile/SrcNotExist (0.00s)
--- PASS: TestCopyFile/SrcIsNotRegularFile (0.00s)
--- PASS: TestCopyFile/DstParentNotExist (0.00s)
=== RUN TestFileCheck
=== RUN TestFileCheck/RegularFile
=== RUN TestFileCheck/NonExistentFile
=== RUN TestFileCheck/IsDirectory
=== RUN TestFileCheck/SymlinkToFile
=== RUN TestFileCheck/SymlinkToDir
--- PASS: TestFileCheck (0.00s)
--- PASS: TestFileCheck/RegularFile (0.00s)
--- PASS: TestFileCheck/NonExistentFile (0.00s)
--- PASS: TestFileCheck/IsDirectory (0.00s)
--- PASS: TestFileCheck/SymlinkToFile (0.00s)
--- PASS: TestFileCheck/SymlinkToDir (0.00s)
Why I did it
Why I did it
How I did it
How to verify it
Which release branch to backport (provide reason below if selected)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)