diff --git a/pkg/internal/cosmos/client.go b/pkg/internal/cosmos/client.go index 7e0da0fa3..a7cd05a21 100644 --- a/pkg/internal/cosmos/client.go +++ b/pkg/internal/cosmos/client.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/json" "net/url" + "time" "github.com/dcos/dcos-cli/pkg/httpclient" ) @@ -63,7 +64,16 @@ func (c *Client) DescribePackage(name string) (*PackageInfo, error) { return nil, err } - req, err := c.http.NewRequest("POST", "/package/describe", &reqBody, httpclient.FailOnErrStatus(true)) + req, err := c.http.NewRequest( + "POST", + "/package/describe", + &reqBody, + + // Hardcode a 3 minutes timeout as Cosmos can take some time + // to respond when there are multiple configured repositories. + httpclient.Timeout(3*time.Minute), + httpclient.FailOnErrStatus(true), + ) if err != nil { return nil, err }