This repository was archived by the owner on Aug 31, 2022. It is now read-only.
Add RBAC, gNOI, API Versioning and Bulk Set operations.#61
Merged
pra-moh merged 112 commits intosonic-net:masterfrom Feb 4, 2021
Merged
Add RBAC, gNOI, API Versioning and Bulk Set operations.#61pra-moh merged 112 commits intosonic-net:masterfrom
pra-moh merged 112 commits intosonic-net:masterfrom
Conversation
…mine if client cert is required
…updates_only_subscribe
sachinholla
reviewed
Jan 8, 2021
sachinholla
reviewed
Jan 8, 2021
|
Broadcom has reviewed and approved these changes. |
Collaborator
|
Thanks for updating the detailed description. |
hui-ma
approved these changes
Jan 28, 2021
Contributor
|
@sachinholla can you please s/o if all comments are addressed? |
sachinholla
approved these changes
Feb 4, 2021
4 tasks
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Along with this, also see the description in the PR #61. Also see the mgmt HLD update: https://github.com/project-arlo/SONiC/blob/update_gnmi_HLD/doc/mgmt/Management%20Framework.md
gNOI RPC Support: Adds the infra for making gNOI RPC calls (ONLY when read/write build flag is enabled). The System Time() RPC is added. Also gNOI RPCs Authenticate and Refresh are used for the JWT Authentication mechanism. Also several RPCs are added from the mgmt-framework. These RPCs are: ClearNeighbors, CopyConfig, ShowTechsupport, ImageInstall, ImageRemove, ImageDefault.
Api Versioning: This adds a gNMI extension field called BundleVersion that is used by the mgmt framework to ensure compatible versions of all the mgmt models during upgrades. This extension field can be sent in gNMI get/set/subscribe operations. If the versions are incompatible, they will return an error. There is also another extension field for returning the current API "BundleVersion" in the Capabilities response message. This feature is only used in the translib data client and does not affect other data clients. In the default case, when the Api "BundleVersion" is not sent in the request, the Api version check is skipped.
Bulk Set: This uses the translib Bulk operation when a Set operation with more than one update/replace/delete operation is specified. This is only then read/write mode is enabled (at build time) and only for oc-models.
Use correct translib actions in Set request. Previously Update and Replace operations in the translib data client were both doing a translib.Create followed by an translib.Update since previously replace/update would not create the object. Now both replace and update work as expected and so Update just calls translib.Update and Replace just calls translib.Repalce.
Updates only subscribe mode. Update data client Subscribe function to include gnmipb.SubscriptionList in the arguments to get access to subscription options such as UpdatesOnly. This mode causes the server to send only updates to the current state. See https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md#3512-the-subscriptionlist-message. This feature is only implemented in the translib data client. Other cilents are not affected.
-Eric