gnmi icon indicating copy to clipboard operation
gnmi copied to clipboard

Deprecation of alias support for gNMI 0.9.0

Open earies opened this issue 2 years ago • 4 comments

  • Deprecation of alias per https://github.com/openconfig/reference/pull/148
  • Regeneration of stubs

Alias support in gNMI was removed from the specification however the .proto was never updated to reflect these changes. This PR addresses removal (deprecation) of alias support in the proto IDL for client/server implementations.

References:

  • https://github.com/openconfig/reference/pull/148

earies avatar Jul 07 '22 21:07 earies

@gcsl @robshakir PTAL

earies avatar Jul 08 '22 15:07 earies

this is a considerable change which backfired at us since the published go package to this date is unversioned, which makes it quite hard to pin dependencies.

Currently, I see that the generated stubs are wiped from aliases entirely (not deprecated, but moved to reserved). https://pkg.go.dev/github.com/openconfig/[email protected]/proto/gnmi#SubscriptionList

I think we really need to start tagging this repo with semver tags matching the spec version, otherwise downstream users are doomed to have issues with pinning dependencies and understanding which generated collection corresponds to which gnmi version.

hellt avatar Jan 25 '23 10:01 hellt

@marcushines @robshakir this commit https://github.com/openconfig/gnmi/commit/480bf53a74d21bb0a82d5d716264874de1070120#diff-49fc5824be3cfb8d64321cc64142f0568a3039a55da00d2aaed8fd766369854c changed gnmi.proto and generated stubs in a non-backwards compatible way without bumping the service version.

Currently, the statement outlined in the https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md#grpc-network-management-interface-gnmi header renders itself false, as the service proto and stubs do not conform to the 0.8.x version

hellt avatar Jan 25 '23 11:01 hellt

@earies I see that @marcushines just released 0.9.0, and one thing that is quite different from this proposal is that alias and use_aliases were not deprecated, but moved to reserved fields of the protos. This effectively makes those fields absent from the generated stubs entirely...

hellt avatar Jan 27 '23 08:01 hellt