X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f248e19664fec1268e2a736d698acfbd6147016e..a5b7b00aff9debab6607afb09b387de627bc2603:/services/keepproxy/keepproxy.go diff --git a/services/keepproxy/keepproxy.go b/services/keepproxy/keepproxy.go index f2a89e58ef..9244fe00cb 100644 --- a/services/keepproxy/keepproxy.go +++ b/services/keepproxy/keepproxy.go @@ -41,9 +41,8 @@ var ( const rfc3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00" -func configure(logger log.FieldLogger, args []string) *arvados.Cluster { +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.") @@ -57,31 +56,29 @@ func configure(logger log.FieldLogger, args []string) *arvados.Cluster { // Print version information if requested if *getVersion { fmt.Printf("keepproxy %s\n", version) - return nil + return nil, nil } cfg, err := loader.Load() if err != nil { - log.Fatal(err) + return nil, err } - cluster, err := cfg.GetCluster("") if err != nil { - log.Fatal(err) + return nil, err } if *dumpConfig { out, err := yaml.Marshal(cfg) if err != nil { - log.Fatal(err) + return nil, err } - _, err = os.Stdout.Write(out) - if err != nil { - log.Fatal(err) + if _, err := os.Stdout.Write(out); err != nil { + return nil, err } - return nil + return nil, nil } - return cluster + return cluster, nil } func main() { @@ -90,7 +87,10 @@ func main() { TimestampFormat: rfc3339NanoFixed, } - cluster := configure(logger, os.Args) + cluster, err := configure(logger, os.Args) + if err != nil { + log.Fatal(err) + } if cluster == nil { return } @@ -107,13 +107,13 @@ 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 cluster.SystemLogs.LogLevel == "debug" { @@ -121,7 +121,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() @@ -137,13 +137,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.