client: surface a connection error more clearly#4447
Conversation
|
Build succeeded.
|
|
Do you folks think the fix is good enough to resolve #2576? |
|
This looks like a good improvement; I think the important decision point is whether we want a significant version upgrade to gRPC right before the 1.4 release? I don't know the level of impact--obviously CI testing doesn't show any impact on the surface, but would be good to get some further testing of this if possible. |
|
Apparently this API is experimental :( grpc/grpc-go@b02de00 bumping k/k to this new grpc version will be challenging as well. |
|
Thanks for reviewing. The issue is not currently blocking anything on my end. I'm fine postponing the change to 1.5. |
|
Since we have |
|
@dims any thoughts on how this needs to play out with other consumers of gRPC? I don't think we have ever been in lock step with components above or below containerd, but I'm not enough of a gRPC expert to state that with conviction. :) I know the CRI plugin has gRPC vendored as well, and we at least need to validate that moving CRI to a later version is workable before we officially move the core containerd vendoring. |
|
So the chain is ... containerd client is used by cadvisor, which is used by kubernetes and kubernetes in turn uses etcd Things are stalled. To unblock we have to:
This is as far as i can tell at the moment :) |
|
etcd's gRPC upgrade PR is now etcd-io/etcd#12636. |
|
Since etcd-io/etcd#12658 got merged, are we good to proceed with the vendor update chain? |
|
@dmcgowan we need this in tag/release of etcd unfortunately |
|
UPDATE: we are making some good progress here kubernetes/kubernetes#100488 - but not enough to merge this in containerd 1.5. Let's please move the milestone to 1.6. |
|
kubernetes/kubernetes#100488 has been merged! Meanwhile I've extracted grpc upgrade as #5613. |
gRPC-Go recently added grpc.WithReturnConnectionError() which improves the situation of containerd#2576. Permission errors: % ./bin/ctr t ls ctr: failed to dial "/run/containerd/containerd.sock": connection error: desc = "transport: error while dialing: dial unix /run/containerd/containerd.sock: connect: permission denied" % Non-existent sockets: % ./bin/ctr -a notfound t ls ctr: failed to dial "notfound": context deadline exceeded: connection error: desc = "transport: error while dialing: dial unix://notfound: timeout" % Signed-off-by: Kazuyoshi Kato <[email protected]>
|
Build succeeded.
|
|
/retest |
gRPC-Go recently added grpc.WithReturnConnectionError() which improves
the situation of #2576.
Permission errors:
Non-existent sockets: