grpc client implementation for active-active dualtor#248
grpc client implementation for active-active dualtor#248vdahiya12 merged 45 commits intosonic-net:masterfrom
Conversation
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
…ting the path to install Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 8 alerts when merging 81753fe into f09bd31 - view on LGTM.com new alerts:
|
* SFP-Refactor: bug fix
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 3 alerts when merging ffcaf35 into 9ac12bf - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 38 alerts when merging 3a496fb into e0f8a35 - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 3 alerts when merging 67d9408 into e0f8a35 - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 1 alert when merging 771ca40 into e0f8a35 - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 1 alert when merging 2d82162 into ce217c0 - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 1 alert when merging 812a768 into ce217c0 - view on LGTM.com new alerts:
|
|
This pull request introduces 1 alert when merging 8d1007f into ce217c0 - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
|
This pull request introduces 2 alerts when merging 51862c4 into ce217c0 - view on LGTM.com new alerts:
|
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
into test-grpc Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
into test-grpc Signed-off-by: vaibhav-dahiya <[email protected]>
Signed-off-by: vaibhav-dahiya <[email protected]>
This PR is to support the gRPC interaction with to the SoC/Nic-Simulator for link manager state machine ActiveActiveStateMachine to work if the port is configured as active-active cable type. It supports the RPC's support for SONiC by creating channels/stubs when a cable is pulled in as well as when the ycabled is initialized from supervisord. The logic to treat a cable/port as "active-active" comes from minigraph/config_db and then this PR has the logic to take care of serving RPC's as requested by other daemons. It does the RPC call when an appropriate request lands the ycabled as described below The following Tables are served by ycabled for gRPC RPC by listening to changes in app DB request from linkmgr/orchagent and corresponding results are written to state DB. HW_MUX_CABLE_TABLE HW_MUX_TABLE_TABLE_PEER This PR also adds logic to listening to the forwarding state command table and get the response back from gRPC and write to forwarding state response FORWARDING_STATE_COMMAND -> FORWARDING_STATE_RESPONSE for getting the forwarding state request/response using gRPC This PR also has logic for gRPC library build using build_ext extension. The proto definition is present in proto/proto_out/ The setup.py changes make sure that gRPC libs are generated correctly. the corresponding gRPC libs are generated in proto_out directory in python packages directory and are imported by ycabled Motivation and Context DualToR active-active support for gRPC interface to support the state machine How Has This Been Tested? Unit-Tests and deploying changes on a DualToR testbed
Description
This PR is to support the gRPC interaction with to the SoC/Nic-Simulator for link manager state machine ActiveActiveStateMachine to work if the port is configured as active-active cable type.
It supports the RPC's support for SONiC by creating channels/stubs when a cable is pulled in as well as when the ycabled is initialized from supervisord. The logic to treat a cable/port as "active-active" comes from minigraph/config_db and then this PR has the logic to take care of serving RPC's as requested by other daemons.
It does the RPC call when an appropriate request lands the ycabled as described below
The following Tables are served by ycabled for gRPC RPC by listening to changes in app DB request from linkmgr/orchagent and corresponding results are written to state DB.
HW_MUX_CABLE_TABLEHW_MUX_TABLE_TABLE_PEERThis PR also adds logic to listening to the forwarding state command table and get the response back from gRPC and write to forwarding state response
FORWARDING_STATE_COMMAND->FORWARDING_STATE_RESPONSEfor getting the forwarding state request/response using gRPC
This PR also has logic for gRPC library build using build_ext extension. The proto definition is present in
proto/proto_out/The setup.py changes make sure that gRPC libs are generated correctly.
the corresponding gRPC libs are generated in proto_out directory in python packages directory and are imported by ycabled
Motivation and Context
DualToR active-active support for gRPC interface to support the state machine
How Has This Been Tested?
Unit-Tests and deploying changes on a DualToR testbed
Additional Information (Optional)