Merge branch '21666-provision-test-improvement'
[arvados.git] / lib / dispatchcloud / cmd.go
index ae6ac70e9665f777069232d49eaf0dd76a66d1a2..81982cdc1a7dad1a52c1b9bf05d34879ef7924ba 100644 (file)
@@ -8,23 +8,29 @@ import (
        "context"
        "fmt"
 
-       "git.curoverse.com/arvados.git/lib/cmd"
-       "git.curoverse.com/arvados.git/lib/service"
-       "git.curoverse.com/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/lib/cmd"
+       "git.arvados.org/arvados.git/lib/service"
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "github.com/prometheus/client_golang/prometheus"
 )
 
 var Command cmd.Handler = service.Command(arvados.ServiceNameDispatchCloud, newHandler)
 
-func newHandler(ctx context.Context, cluster *arvados.Cluster, token string) service.Handler {
+func newHandler(ctx context.Context, cluster *arvados.Cluster, token string, reg *prometheus.Registry) service.Handler {
        ac, err := arvados.NewClientFromConfig(cluster)
        if err != nil {
                return service.ErrorHandler(ctx, cluster, fmt.Errorf("error initializing client from cluster config: %s", err))
        }
+       // Disable auto-retry.  We have transient failure recovery at
+       // the application level, so we would rather receive/report
+       // upstream errors right away.
+       ac.Timeout = 0
        d := &dispatcher{
                Cluster:   cluster,
                Context:   ctx,
                ArvClient: ac,
                AuthToken: token,
+               Registry:  reg,
        }
        go d.Start()
        return d