-
Notifications
You must be signed in to change notification settings - Fork 100
Open
Labels
Description
Currently we use gnxi gnmi_cli. This has a couple of issue imo
- We have multiple patches extending support for this tool, attempts to upgrade the gnxi hash we pull this tool from will fail has patch 5 hits a conflict and will need to be resolved
- We use older protos in this tool. We take our protos from gnxi which was built against proto v3. To keep this working we need special checks in the docker-ptf container to downgrade protobuf for any environments that use protov4. If we wish to use protov4 we will have to recompile the protos for every build
- Adding additional support to this tool requires adding additional patches and testing which is a disincentive to do so itself
- Test out parsing is by parsing output lines of stdout, which typically results in
if "foo" in std_out
I would like to propose we move away from gnmi_cli, and all the problem it has, to gnoic. This tool is
- already backed by the OpenConfig community
- has active development so we can be confident it has the newest features and is properly tested
- statically compiled go binary with none of the protobuf issues
- OS agnostic, we don't need to selectively downgrade protobuf library depending on the versions
- Can output as JSON which can result in nicer python test parsing.
I'm happy to implement the changes to sonic-buildimage and sonic-mgmt, but would like to get some buy in from reviewers that a change like this would be accepted. While we are keen to use it internally i'd like to try to not drift from community too much, and instead contirbute where I can.
Reactions are currently unavailable