Testing GRPC using grpcurl

You may find that the Harness delegate fails to connect to Harness SaaS services using GRPC. This will usually show as ping/pong error messages in the delegate log.

Troubleshooting the GRPC connection is hard, so this documents a method to do it using the grpcurl command.

Download/install

On Linux machines, you can download the GRPCurl utility using these commands:

curl -LO https://github.com/fullstorydev/grpcurl/releases/download/v1.8.0/grpcurl_1.8.0_linux_x86_64.tar.gz
tar -zxvf grpcurl_1.8.0_linux_x86_64.tar.gz
chmod +x ./grpcurl

On Mac machines, it is recommended that you install using homebrew:

brew install grpcurl

testing GRPC

The following command could be used to test GRPC communication to the Harness manager:

grpcurl -authority events-grpc-app.harness.io app.harness.io:443 list

The returned results are something like this:

grpc.health.v1.Health
grpc.reflection.v1alpha.ServerReflection
io.harness.event.EventPublisher`

If GRPC connection fails, it will show an error similar to this:

Failed to dial target host "app.harness.io:443": context deadline exceeded
2 Likes