From e2eace9715253b5254d1596f3ee91e2f61127929 Mon Sep 17 00:00:00 2001 From: Michael Crosby Date: Wed, 5 Feb 2014 16:49:43 -0800 Subject: [PATCH] Do not ping registry from the cli Docker-DCO-1.1-Signed-off-by: Michael Crosby (github: crosbymichael) --- auth/auth.go | 13 ++++++++----- commands.go | 6 +----- server.go | 14 +++++++++++++- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/auth/auth.go b/auth/auth.go index 770a6a0c0f..cbca81f3e3 100644 --- a/auth/auth.go +++ b/auth/auth.go @@ -151,12 +151,15 @@ func SaveConfig(configFile *ConfigFile) error { // try to register/login to the registry server func Login(authConfig *AuthConfig, factory *utils.HTTPRequestFactory) (string, error) { - client := &http.Client{} - reqStatusCode := 0 - var status string - var reqBody []byte + var ( + status string + reqBody []byte + err error + client = &http.Client{} + reqStatusCode = 0 + serverAddress = authConfig.ServerAddress + ) - serverAddress := authConfig.ServerAddress if serverAddress == "" { serverAddress = IndexServerAddress() } diff --git a/commands.go b/commands.go index 15d4507030..cc019f8c10 100644 --- a/commands.go +++ b/commands.go @@ -266,11 +266,7 @@ func (cli *DockerCli) CmdLogin(args ...string) error { } serverAddress := auth.IndexServerAddress() if len(cmd.Args()) > 0 { - serverAddress, err = registry.ExpandAndVerifyRegistryUrl(cmd.Arg(0)) - if err != nil { - return err - } - fmt.Fprintf(cli.out, "Login against server at %s\n", serverAddress) + serverAddress = cmd.Arg(0) } promptDefault := func(prompt string, configDefault string) { diff --git a/server.go b/server.go index 2942eaeb5b..f108f61740 100644 --- a/server.go +++ b/server.go @@ -200,8 +200,20 @@ func (srv *Server) ContainerKill(job *engine.Job) engine.Status { } func (srv *Server) Auth(job *engine.Job) engine.Status { - authConfig := &auth.AuthConfig{} + var ( + err error + authConfig = &auth.AuthConfig{} + ) + job.GetenvJson("authConfig", authConfig) + // TODO: this is only done here because auth and registry need to be merged into one pkg + if addr := authConfig.ServerAddress; addr != "" && addr != auth.IndexServerAddress() { + addr, err = registry.ExpandAndVerifyRegistryUrl(addr) + if err != nil { + return job.Error(err) + } + authConfig.ServerAddress = addr + } status, err := auth.Login(authConfig, srv.HTTPRequestFactory(nil)) if err != nil { return job.Error(err)