X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c62e4ae2026770d983ef5b7ffda0cf6d0f48ffc2..b6e15a581be2e5b2387fe18ecb01714fbc21d3aa:/services/keepstore/keepstore.go diff --git a/services/keepstore/keepstore.go b/services/keepstore/keepstore.go index 69ff5659c1..5414795971 100644 --- a/services/keepstore/keepstore.go +++ b/services/keepstore/keepstore.go @@ -3,7 +3,6 @@ package main import ( "flag" "fmt" - "log" "net" "net/http" "os" @@ -15,6 +14,7 @@ import ( "git.curoverse.com/arvados.git/sdk/go/config" "git.curoverse.com/arvados.git/sdk/go/httpserver" "git.curoverse.com/arvados.git/sdk/go/keepclient" + log "github.com/Sirupsen/logrus" "github.com/coreos/go-systemd/daemon" "github.com/ghodss/yaml" ) @@ -82,11 +82,6 @@ var KeepVM VolumeManager var pullq *WorkQueue var trashq *WorkQueue -// TODO(twp): continue moving as much code as possible out of main -// so it can be effectively tested. Esp. handling and postprocessing -// of command line flags (identifying Keep volumes and initializing -// permission arguments). - func main() { deprecated.beforeFlagParse(theConfig) @@ -119,6 +114,9 @@ func main() { } err = theConfig.Start() + if err != nil { + log.Fatal(err) + } if pidfile := theConfig.PIDFile; pidfile != "" { f, err := os.OpenFile(pidfile, os.O_RDWR|os.O_CREATE, 0777) @@ -152,10 +150,10 @@ func main() { KeepVM = MakeRRVolumeManager(theConfig.Volumes) // Middleware stack: logger, MaxRequests limiter, method handlers - http.Handle("/", &LoggingRESTRouter{ - httpserver.NewRequestLimiter(theConfig.MaxRequests, - MakeRESTRouter()), - }) + router := MakeRESTRouter() + limiter := httpserver.NewRequestLimiter(theConfig.MaxRequests, router) + router.limiter = limiter + http.Handle("/", &LoggingRESTRouter{router: limiter}) // Set up a TCP listener. listener, err := net.Listen("tcp", theConfig.Listen) @@ -194,10 +192,10 @@ func main() { signal.Notify(term, syscall.SIGTERM) signal.Notify(term, syscall.SIGINT) - if _, err := daemon.SdNotify("READY=1"); err != nil { + 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()) srv := &http.Server{} srv.Serve(listener) }