openconfig / gnmi-gateway

A modular, distributed, and highly available service for modern network telemetry via OpenConfig and gNMI
Apache License 2.0
134 stars 32 forks source link

NX-OS issues #42

Open erichkuehn opened 2 years ago

erichkuehn commented 2 years ago

Love your project, i've been able to get it work with Arista vEOS, but have been unable to make it work with Cisco NX-OS 9.3(8).

When i run it against my NX-OS vm, it starts to subscribe, but never finishes.

gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Starting GNMI Gateway."} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Clustering is NOT enabled. No locking or cluster coordination will happen."} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Starting connection manager."} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Starting gNMI server on 0.0.0.0:9339."} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Starting InfluxDBv2 exporter."} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Initializing target nx9300.example.com ([192.168.2.237:50051]) map[NoTLSVerify:yes]."} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Target nx9300.example.com: Connecting"} gateway | {"level":"info","time":"2022-01-05T20:47:12Z","message":"Target nx9300.example.com: Subscribing"} gateway | INFO: 2022/01/05 20:47:12 [core] parsed scheme: "" gateway | INFO: 2022/01/05 20:47:12 [core] scheme "" not registered, fallback to default scheme gateway | INFO: 2022/01/05 20:47:12 [core] ccResolverWrapper: sending update to cc: {[{192.168.2.237:50051 <nil> 0 <nil>}] <nil> <nil>} gateway | INFO: 2022/01/05 20:47:12 [core] ClientConn switching balancer to "pick_first" gateway | INFO: 2022/01/05 20:47:12 [core] Channel switches to new LB policy "pick_first" gateway | INFO: 2022/01/05 20:47:12 [core] Subchannel Connectivity change to CONNECTING gateway | INFO: 2022/01/05 20:47:12 [core] Subchannel picks a new address "192.168.2.237:50051" to connect gateway | INFO: 2022/01/05 20:47:12 [core] pickfirstBalancer: UpdateSubConnState: 0xc000627500, {CONNECTING <nil>} gateway | INFO: 2022/01/05 20:47:12 [core] Channel Connectivity change to CONNECTING gateway | INFO: 2022/01/05 20:47:12 [core] Subchannel Connectivity change to READY gateway | INFO: 2022/01/05 20:47:12 [core] pickfirstBalancer: UpdateSubConnState: 0xc000627500, {READY <nil>} gateway | INFO: 2022/01/05 20:47:12 [core] Channel Connectivity change to READY gateway | {"level":"info","time":"2022-01-05T20:47:42Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:48:12Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:48:42Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:49:12Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:49:42Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:50:12Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:50:42Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:51:12Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:51:42Z","message":"Connection manager received a target control message: 1 inserts 0 removes"} gateway | {"level":"info","time":"2022-01-05T20:52:12Z","message":"Connection manager received a target control message: 1 inserts 0 removes"}

Here is the targets.json i'm using

{ "request": { "default": { "subscribe": { "encoding": "PROTO", "prefix": { }, "subscription": [ { "path": { "elem": [ { "name": "interfaces" } ] } } ] } } }, "target": { "nx9300.example.com": { "addresses": [ "192.168.2.237:50051" ], "credentials": { "username": "XXXX", "password": "XXX" }, "request": "default", "meta": { "NoTLSVerify": "yes" } } } } Any help you could provide would be appreciated.

kulpatel commented 5 months ago

@erichkuehn any solution worked for you ?