Specific paths cant be requested, because the underlying device goStruct can't be filled.
Attempting to use gnmic to make requests with paths such as /interfaces/interface
or interfaces/interface[name=Ethernet1]
currently results in the output of an error.
Expected Behavior
The device should be populated with the requested data and the data should be delivered as gNMI notification within the gosdn client.
Actual Behavior
Device is not populated and an error is thrown:
{"level":"error","msg":"cannot process entry of type map[string]*openconfig.OpenconfigInterfaces_Interfaces_Interface, request longer or shorter path","time":"2021-11-29T19:25:02+01:00"}
Possible Fix
The device within the controller must be initialized in more depth depending on which path is requested. In this case a map must be created during runtime and filled according to the keys which are specified in the gnmi path.
Steps to Reproduce
- Start the goSDN controller and register an OND like a cEOS
- Send a get request like:
gosdnc dev get 568500cc-b96c-4f8f-a187-3700c16012bb /interfaces/interface
via gosdnc - An error is thrown
Context
Tried a get request for the path /interfaces/interface