[DO NOT MERGE] [SONiC Hackathon] tests for gRIBi server functionality on SONiC - #28322
Draft
randy-nexthop wants to merge 2 commits into
Draft
randy-nexthop wants to merge 2 commits into
randy-nexthop wants to merge 2 commits into
Conversation
grpcurl -format json pretty-prints each streamed message over several lines, so the line-by-line fallback in call_server_streaming and call_bidirectional_streaming found nothing to parse once a call returned more than one message. Decode the output as a stream of JSON values. Co-authored-by: Alton Lo <alton@nexthop.ai> Co-authored-by: t-benyu_microsoft <t-benyu@microsoft.com> Signed-off-by: randy-nexthop <randy@nexthop.ai>
Drive gribid over gRIBI from the PTF container with grpcurl (through PtfGrpc and gRPC reflection) and check each route against APPL_STATE_DB and ASIC_DB: IPv4 ECMP add, group replace and delete, IPv6, a next hop with no neighbor (FIB_FAILED, nothing in the ASIC), a route in a VRF built from an uplink PortChannel, and the feature disable stopping the server. Skips on images without the gribi feature or without SYSTEM_DEFAULTS|swss_zmq enabled. routeorch reports route results, gRIBI's FIB acknowledgements, only when orchagent runs with -F, so the module fixture enables suppress-fib-pending (with a config reload) and restores it afterwards. pytest_assert and pytest_require are imported under aliases, since pytest reads any pytest_* name in a conftest as a hook. All six tests pass on a t0 hardware testbed. Co-authored-by: Alton Lo <alton@nexthop.ai> Co-authored-by: t-benyu_microsoft <t-benyu@microsoft.com> Signed-off-by: randy-nexthop <randy@nexthop.ai>
One or more co-authors of this pull request were not found. You must specify co-authors in commit message trailer via: Supported
Alternatively, if the co-author should not be included, remove the Please update your commit message(s) by doing |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Collaborator
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Collaborator
|
Hi, there are workflow run(s) waiting for approval, you may be first-time contributor. I will notify maintainers to help approve once PR is approved. Thanks! ---Powered by SONiC BuildBot
|
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.
Description of PR
As a part of the SONiC hackathon, we are adding a new feature to SONiC to support writing routes over gRIBi. Associated sonic-mgmt tests are in this PR.
Type of change
Back port request
Tracking issue/work item for backport/cherry-pick request (GitHub issue or Microsoft ADO):
Failure type:
Tested branch
Test result
Approach
What is the motivation for this PR?
sonic-mgmt tests for a new feature.
How did you do it?
Tested various gRIBi features.
How did you verify/test it?
Tested on latest image w/ gRIBi support.
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation