cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
559
Views
0
Helpful
3
Replies

gRPC

eekman
Level 1
Level 1

I cant get gRPC telemetry to work in Yang Suite. When I start a receiver it just says "error" in a popup div. Looking on the console output from starting the docker container I get this:

 

yangsuite_1 | E0000 00:00:1738241928.973635 37 chttp2_server.cc:1672] UNKNOWN:No address added out of total 1 resolved for '10.1.1.214:57344' {created_time:"2025-01-30T12:58:48.973620105+00:00", children:[UNKNOWN:Unable to configure socket {created_time:"2025-01-30T12:58:48.973554599+00:00", fd:12, children:[UNKNOWN:bind: Cannot assign requested address (99) {created_time:"2025-01-30T12:58:48.973507718+00:00"}]}]}


yangsuite_1 | [30/Jan/2025 12:58:48] ERROR [django.request:241] Start servicer: Failed to bind to address 10.1.1.214:57344; set GRPC_VERBOSITY=debug environment variable to see detailed error message.: /grpctelemetry/servicer/start

 

 

Setting the environment variable makes no difference that I can see. I cant find "/grpctelemetry/servicer/start" anythere in the file system nor nginx config or log file or anywhere else.

The container runs as root. The IP address matches what the VM uses, it is reachable via SSH and HTTPS, and the ports used for gRPC matches the docker yaml file. 

Any ideas?

 

 

1 Accepted Solution

Accepted Solutions

eekman
Level 1
Level 1

Solved it. Apparently you should not use the IP address of the real machine. I guess it NATs traffic to the container. gRPC suggests a 172.18-address, I used that pre-filled IP and only filled in the port number 57344. The service started and telemetry (configured with receiver 10.1.1.214 address) started showing up.

View solution in original post

3 Replies 3

Not expert here, but based on the error you see, it is saying the gRPC server within your Yang Suite Docker container is trying to bind to the IP address 10.1.1.214 on port 57344, but something else is already using that address and port combination, or the container doesn't have permission to bind to that address, so even though the IP matches your VM, that might mean the container can use it directly unless configured to. Is the IP reachable from inside the container here?

Please mark this as helpful or solution accepted to help others
Connect with me https://bigevilbeard.github.io

I no docker genius, pretty much the first time I use it, so Im not sure how to test that from inside the container. Docker listens to that port, but I assumed it has to do that do "forward" traffic into the container. From a normal zsh shell on the server I can try netcat to the IP and port and I get connection refused

$ sudo netstat -tulnp | grep 57344
tcp        0      0 0.0.0.0:57344           0.0.0.0:*               LISTEN      23632/docker-proxy  
tcp6       0      0 :::57344                :::*                    LISTEN      23640/docker-proxy 

 

eekman
Level 1
Level 1

Solved it. Apparently you should not use the IP address of the real machine. I guess it NATs traffic to the container. gRPC suggests a 172.18-address, I used that pre-filled IP and only filled in the port number 57344. The service started and telemetry (configured with receiver 10.1.1.214 address) started showing up.