Skip to content

Implements the frontend logic for gNSI Certz#559

Merged
sneelam20 merged 2 commits intosonic-net:masterfrom
jayaragini-hcl:gnsi_certz_fe_pr1_2
Mar 2, 2026
Merged

Implements the frontend logic for gNSI Certz#559
sneelam20 merged 2 commits intosonic-net:masterfrom
jayaragini-hcl:gnsi_certz_fe_pr1_2

Conversation

@jayaragini-hcl
Copy link
Copy Markdown
Contributor

@jayaragini-hcl jayaragini-hcl commented Jan 13, 2026

This PR enables support for managing the device certificates,Trust bundles,CRLs and handles the certificate management using Certz Rotate() RPC

HLD Link

Dependency Chain for Merge
Backend Base PR : sonic-net/sonic-mgmt-common#183 (Must be merged first)
Backend Incremental PR : sonic-net/sonic-mgmt-common#198
Frontend Base PR: #596 (Must be merged first)
Incremental PR: #578
Current PR : #559

gNSI Certz UT Results:

=== RUN TestGnsiCertzServer
=== RUN TestGnsiCertzServer/RotateCertificateDefaultSuccess
=== RUN TestGnsiCertzServer/RotateCRLDefaultSuccess
=== RUN TestGnsiCertzServer/RotateTrustBundleSuccess
=== RUN TestGnsiCertzServer/RotateEmptyRequest
=== RUN TestGnsiCertzServer/RotateCertificateMissingCert
=== RUN TestGnsiCertzServer/RotateCertificateMissingKey
=== RUN TestGnsiCertzServer/RotateCertificateMissingType
=== RUN TestGnsiCertzServer/RotateCertificateMissingEncoding
=== RUN TestGnsiCertzServer/RotateTrustBundleMissingCert
=== RUN TestGnsiCertzServer/RotateTrustBundleMissingType
=== RUN TestGnsiCertzServer/RotateTrustBundleMissingEncoding
=== RUN TestGnsiCertzServer/RotateCRLMissingCert
=== RUN TestGnsiCertzServer/RotateCRLMissingType
=== RUN TestGnsiCertzServer/RotateCRLMissingEncoding
=== RUN TestGnsiCertzServer/AddProfileUnimplemented
=== RUN TestGnsiCertzServer/DeleteProfileUnimplemented
=== RUN TestGnsiCertzServer/GetProfileListUnimplemented
=== RUN TestGnsiCertzServer/CanGenerateCSRAccept
=== RUN TestGnsiCertzServer/CanGenerateCSRReject
=== RUN TestGnsiCertzServer/GenerateCsrRSA
=== RUN TestGnsiCertzServer/GenerateCsrECDSA
=== RUN TestGnsiCertzServer/GenerateCsrAttest
=== RUN TestGnsiCertzServer/restoreSymlink
=== RUN TestGnsiCertzServer/rmFileIfNotPointedToBySymlink
=== RUN TestGnsiCertzServer/isSymlinkValid
=== RUN TestGnsiCertzServer/Rotate_DoUpload_CRLNotConfigured
=== RUN TestGnsiCertzServer/CreatesCRLDefaultDirectories
=== RUN TestGnsiCertzServer/CRL_MkdirFailureLogging
=== RUN TestGnsiCertzServer/Rotate_ConcurrentRPC_ReturnsAborted
=== RUN TestGnsiCertzServer/Rotate_UnexpectedEOF_TriggersRevert
=== RUN TestGnsiCertzServer/Rotate_InvalidRequest_TriggersProcessErr
=== RUN TestGnsiCertzServer/RevertProfile_Full_Coverage
=== RUN TestGnsiCertzServer/SaveEntities_AuthPolicy_BackupAndWriteSuccess
=== RUN TestGnsiCertzServer/SaveEntities_AuthPolicy_SaveFailAndRestoreFail
=== RUN TestGnsiCertzServer/Rotate_Concurrent_Call_Error
=== RUN TestGnsiCertzServer/Rotate_Stream_Recv_Error
=== RUN TestGnsiCertzServer/Rotate_Process_Request_Error
=== RUN TestGnsiCertzServer/Rotate_Finalize_Failure_Coverage
=== RUN TestGnsiCertzServer/ReadCertChain_Full_Coverage
=== RUN TestGnsiCertzServer/ReadCertChain_Full_Coverage/ParentLoopValidationFailure
--- PASS: TestGnsiCertzServer (1.71s)
--- PASS: TestGnsiCertzServer/RotateCertificateDefaultSuccess (0.02s)
--- PASS: TestGnsiCertzServer/RotateCRLDefaultSuccess (0.01s)
--- PASS: TestGnsiCertzServer/RotateTrustBundleSuccess (0.02s)
--- PASS: TestGnsiCertzServer/RotateEmptyRequest (0.01s)
--- PASS: TestGnsiCertzServer/RotateCertificateMissingCert (0.01s)
--- PASS: TestGnsiCertzServer/RotateCertificateMissingKey (0.01s)
--- PASS: TestGnsiCertzServer/RotateCertificateMissingType (0.01s)
--- PASS: TestGnsiCertzServer/RotateCertificateMissingEncoding (0.01s)
--- PASS: TestGnsiCertzServer/RotateTrustBundleMissingCert (0.01s)
--- PASS: TestGnsiCertzServer/RotateTrustBundleMissingType (0.01s)
--- PASS: TestGnsiCertzServer/RotateTrustBundleMissingEncoding (0.01s)
--- PASS: TestGnsiCertzServer/RotateCRLMissingCert (0.01s)
--- PASS: TestGnsiCertzServer/RotateCRLMissingType (0.01s)
--- PASS: TestGnsiCertzServer/RotateCRLMissingEncoding (0.01s)
--- PASS: TestGnsiCertzServer/AddProfileUnimplemented (0.01s)
--- PASS: TestGnsiCertzServer/DeleteProfileUnimplemented (0.01s)
--- PASS: TestGnsiCertzServer/GetProfileListUnimplemented (0.01s)
--- PASS: TestGnsiCertzServer/CanGenerateCSRAccept (0.01s)
--- PASS: TestGnsiCertzServer/CanGenerateCSRReject (0.02s)
--- PASS: TestGnsiCertzServer/GenerateCsrRSA (0.53s)
--- PASS: TestGnsiCertzServer/GenerateCsrECDSA (0.01s)
--- PASS: TestGnsiCertzServer/GenerateCsrAttest (0.01s)
--- PASS: TestGnsiCertzServer/restoreSymlink (0.00s)
--- PASS: TestGnsiCertzServer/rmFileIfNotPointedToBySymlink (0.00s)
--- PASS: TestGnsiCertzServer/isSymlinkValid (0.00s)
--- PASS: TestGnsiCertzServer/Rotate_DoUpload_CRLNotConfigured (0.01s)
--- PASS: TestGnsiCertzServer/CreatesCRLDefaultDirectories (0.01s)
--- PASS: TestGnsiCertzServer/CRL_MkdirFailureLogging (0.01s)
--- PASS: TestGnsiCertzServer/Rotate_ConcurrentRPC_ReturnsAborted (0.02s)
--- PASS: TestGnsiCertzServer/Rotate_UnexpectedEOF_TriggersRevert (0.01s)
--- PASS: TestGnsiCertzServer/Rotate_InvalidRequest_TriggersProcessErr (0.01s)
--- PASS: TestGnsiCertzServer/RevertProfile_Full_Coverage (0.01s)
--- PASS: TestGnsiCertzServer/SaveEntities_AuthPolicy_BackupAndWriteSuccess (0.01s)
--- PASS: TestGnsiCertzServer/SaveEntities_AuthPolicy_SaveFailAndRestoreFail (0.01s)
--- PASS: TestGnsiCertzServer/Rotate_Concurrent_Call_Error (0.01s)
--- PASS: TestGnsiCertzServer/Rotate_Stream_Recv_Error (0.02s)
--- PASS: TestGnsiCertzServer/Rotate_Process_Request_Error (0.01s)
--- PASS: TestGnsiCertzServer/Rotate_Finalize_Failure_Coverage (0.01s)
--- PASS: TestGnsiCertzServer/ReadCertChain_Full_Coverage (0.00s)

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jayaragini-hcl
Copy link
Copy Markdown
Contributor Author

@rlucus, @ndas7: Could you please review the new PR after split up and share your feedback.
cc: @kishanps

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jayaragini-hcl
Copy link
Copy Markdown
Contributor Author

@rlucus, @ndas7: Could you please review the new PR after split up and share your feedback.
cc: @kishanps

Comment thread gnmi_server/gnsi_utils.go Outdated
Comment thread gnmi_server/gnsi_utils.go Outdated
Comment thread gnmi_server/gnsi_utils.go Outdated
Comment thread gnmi_server/gnsi_utils.go Outdated
@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jayaragini-hcl
Copy link
Copy Markdown
Contributor Author

Hi @rlucus, @ndas7: Review comments has been addressed. Could you please review the PR
cc: @kishanps

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jayaragini-hcl
Copy link
Copy Markdown
Contributor Author

jayaragini-hcl commented Feb 27, 2026

Hi @rlucus Addressed the review comments, Please review and approve the PR
cc: @kishanps, @ndas7

Copy link
Copy Markdown
Contributor

@rlucus rlucus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, pending that function being moved back.

Comment thread common_utils/notification_producer.go Outdated
Signed-off-by: Pattela JAYARAGINI <pattelaj@google.com>
@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Pattela JAYARAGINI <pattelaj@google.com>
@mssonicbld
Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@jayaragini-hcl
Copy link
Copy Markdown
Contributor Author

Hi @rlucus .Addressed the comment, Please approve #596
cc: @kishanps, @ndas7

@sneelam20 sneelam20 enabled auto-merge (squash) March 2, 2026 18:04
@sneelam20 sneelam20 merged commit bf5d3e0 into sonic-net:master Mar 2, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants