From d61d0b5aef455426aa846895b140953c4677d68e Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Tue, 28 Feb 2017 16:43:08 -0800 Subject: [PATCH] cmd/dist: add global connect-timeout for GRPC Signed-off-by: Stephen J Day --- cmd/dist/common.go | 2 ++ cmd/dist/fetch.go | 2 +- cmd/dist/main.go | 9 ++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cmd/dist/common.go b/cmd/dist/common.go index c4317c9ad..0411fa0a0 100644 --- a/cmd/dist/common.go +++ b/cmd/dist/common.go @@ -24,7 +24,9 @@ func resolveContentStore(context *cli.Context) (*content.Store, error) { func connectGRPC(context *cli.Context) (*grpc.ClientConn, error) { socket := context.GlobalString("socket") + timeout := context.GlobalDuration("connect-timeout") return grpc.Dial(socket, + grpc.WithTimeout(timeout), grpc.WithBlock(), grpc.WithInsecure(), grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) { diff --git a/cmd/dist/fetch.go b/cmd/dist/fetch.go index 1bb557032..506c34d77 100644 --- a/cmd/dist/fetch.go +++ b/cmd/dist/fetch.go @@ -39,7 +39,7 @@ var fetchCommand = cli.Command{ }, Action: func(context *cli.Context) error { var ( - ctx = contextpkg.Background() + ctx = background timeout = context.Duration("timeout") locator = context.Args().First() args = context.Args().Tail() diff --git a/cmd/dist/main.go b/cmd/dist/main.go index c5473ca14..580be0e44 100644 --- a/cmd/dist/main.go +++ b/cmd/dist/main.go @@ -40,9 +40,12 @@ distribution tool Usage: "enable debug output in logs", }, cli.DurationFlag{ - Name: "timeout", - Usage: "total timeout for fetch", - EnvVar: "CONTAINERD_FETCH_TIMEOUT", + Name: "timeout", + Usage: "total timeout for dist commands", + }, + cli.DurationFlag{ + Name: "connect-timeout", + Usage: "timeout for connecting to containerd", }, cli.StringFlag{ // TODO(stevvooe): for now, we allow circumventing the GRPC. Once