openconfig / gnmic

gNMIc is a gNMI CLI client and collector
https://gnmic.openconfig.net
Apache License 2.0
170 stars 55 forks source link

Removed file content trimming on reading for the update-file/replace-file/union-replace-file arguments #480

Closed rao-aneesh closed 2 months ago

rao-aneesh commented 2 months ago

Firstly, the trimming of data is already done in the the value function in pkg/api/gnmi_msgs.go.

Secondly, we can send CLI commands using the --update-path cli: --update-file <path-to-file> args (replace and union-replace as well) by keeping CLI commands in the input file. The files are always trimmed when read. This causes an issue if the encoding is ASCII and the router expects the CLI command to terminate with a '\n'.

Using the --update-cli-file arg does solve this issue (since the file isn't trimmed in this case) but it locks the origin into 'cli'. From a testing perspective, I want to try 'xr_cli' or 'junos_cli'. I would also like to test negative cases where origin is not cli. Also, union-replace-cli is not a flag that exists, hence this change.