X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d4ed3e6460469f2766e1f1676c538d6c86e000b6..c59af50bc2f7a366cd12a8dd6fc7d7e3b1c32480:/services/keepproxy/keepproxy.go diff --git a/services/keepproxy/keepproxy.go b/services/keepproxy/keepproxy.go index 824b748bcc..0191e5ba45 100644 --- a/services/keepproxy/keepproxy.go +++ b/services/keepproxy/keepproxy.go @@ -20,12 +20,12 @@ import ( "syscall" "time" - "git.curoverse.com/arvados.git/lib/config" - "git.curoverse.com/arvados.git/sdk/go/arvados" - "git.curoverse.com/arvados.git/sdk/go/arvadosclient" - "git.curoverse.com/arvados.git/sdk/go/health" - "git.curoverse.com/arvados.git/sdk/go/httpserver" - "git.curoverse.com/arvados.git/sdk/go/keepclient" + "git.arvados.org/arvados.git/lib/config" + "git.arvados.org/arvados.git/sdk/go/arvados" + "git.arvados.org/arvados.git/sdk/go/arvadosclient" + "git.arvados.org/arvados.git/sdk/go/health" + "git.arvados.org/arvados.git/sdk/go/httpserver" + "git.arvados.org/arvados.git/sdk/go/keepclient" "github.com/coreos/go-systemd/daemon" "github.com/ghodss/yaml" "github.com/gorilla/mux" @@ -43,7 +43,6 @@ const rfc3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" func configure(logger log.FieldLogger, args []string) (*arvados.Cluster, error) { flags := flag.NewFlagSet(args[0], flag.ExitOnError) - flags.Usage = usage dumpConfig := flags.Bool("dump-config", false, "write current configuration to stdout and exit") getVersion := flags.Bool("version", false, "Print version information and exit.") @@ -108,13 +107,19 @@ func main() { func run(logger log.FieldLogger, cluster *arvados.Cluster) error { client, err := arvados.NewClientFromConfig(cluster) if err != nil { - log.Fatal(err) + return err } client.AuthToken = cluster.SystemRootToken arv, err := arvadosclient.New(client) if err != nil { - log.Fatalf("Error setting up arvados client %s", err.Error()) + return fmt.Errorf("Error setting up arvados client %v", err) + } + + // If a config file is available, use the keepstores defined there + // instead of the legacy autodiscover mechanism via the API server + for k := range cluster.Services.Keepstore.InternalURLs { + arv.KeepServiceURIs = append(arv.KeepServiceURIs, strings.TrimRight(k.String(), "/")) } if cluster.SystemLogs.LogLevel == "debug" { @@ -122,7 +127,7 @@ func run(logger log.FieldLogger, cluster *arvados.Cluster) error { } kc, err := keepclient.MakeKeepClient(arv) if err != nil { - log.Fatalf("Error setting up keep client %s", err.Error()) + return fmt.Errorf("Error setting up keep client %v", err) } keepclient.RefreshServiceDiscoveryOnSIGHUP() @@ -138,13 +143,13 @@ func run(logger log.FieldLogger, cluster *arvados.Cluster) error { var lErr error listener, lErr = net.Listen("tcp", listen.Host) if lErr != nil { - log.Fatalf("listen(%s): %s", listen.Host, lErr) + return fmt.Errorf("listen(%s): %v", listen.Host, lErr) } if _, err := daemon.SdNotify(false, "READY=1"); err != nil { log.Printf("Error notifying init daemon: %v", err) } - log.Println("Listening at", listener.Addr()) + log.Println("listening at", listener.Addr()) // Shut down the server gracefully (by closing the listener) // if SIGTERM is received. @@ -158,7 +163,7 @@ func run(logger log.FieldLogger, cluster *arvados.Cluster) error { signal.Notify(term, syscall.SIGINT) // Start serving requests. - router = MakeRESTRouter(kc, time.Duration(cluster.API.KeepServiceRequestTimeout), cluster.SystemRootToken) + router = MakeRESTRouter(kc, time.Duration(keepclient.DefaultProxyRequestTimeout), cluster.ManagementToken) return http.Serve(listener, httpserver.AddRequestIDs(httpserver.LogRequests(router))) }