X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9e6bf5e6b110c016423178c2ed452d148f21b3c3..e805640e7904dc282f00be82a2edb53d496a87bb:/lib/dispatchcloud/dispatcher_test.go diff --git a/lib/dispatchcloud/dispatcher_test.go b/lib/dispatchcloud/dispatcher_test.go index 15e545f8a8..4583a596ee 100644 --- a/lib/dispatchcloud/dispatcher_test.go +++ b/lib/dispatchcloud/dispatcher_test.go @@ -49,6 +49,7 @@ func (s *DispatcherSuite) SetUpTest(c *check.C) { s.stubDriver = &test.StubDriver{ HostKey: hostpriv, AuthorizedKeys: []ssh.PublicKey{dispatchpub}, + ErrorRateCreate: 0.1, ErrorRateDestroy: 0.1, MinTimeBetweenCreateCalls: time.Millisecond, } @@ -69,6 +70,7 @@ func (s *DispatcherSuite) SetUpTest(c *check.C) { DispatchPrivateKey: string(dispatchprivraw), StaleLockTimeout: arvados.Duration(5 * time.Millisecond), RuntimeEngine: "stub", + MaxDispatchAttempts: 10, CloudVMs: arvados.CloudVMsConfig{ Driver: "test", SyncInterval: arvados.Duration(10 * time.Millisecond), @@ -77,6 +79,7 @@ func (s *DispatcherSuite) SetUpTest(c *check.C) { TimeoutProbe: arvados.Duration(15 * time.Millisecond), TimeoutShutdown: arvados.Duration(5 * time.Millisecond), MaxCloudOpsPerSecond: 500, + InitialQuotaEstimate: 8, PollInterval: arvados.Duration(5 * time.Millisecond), ProbeInterval: arvados.Duration(5 * time.Millisecond), MaxProbesPerSecond: 1000, @@ -105,7 +108,10 @@ func (s *DispatcherSuite) SetUpTest(c *check.C) { // Disable auto-retry arvClient.Timeout = 0 - s.error503Server = httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusServiceUnavailable) })) + s.error503Server = httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + c.Logf("503 stub: returning 503") + w.WriteHeader(http.StatusServiceUnavailable) + })) arvClient.Client = &http.Client{ Transport: &http.Transport{ Proxy: s.arvClientProxy(c), @@ -136,6 +142,7 @@ func (s *DispatcherSuite) TearDownTest(c *check.C) { func (s *DispatcherSuite) arvClientProxy(c *check.C) func(*http.Request) (*url.URL, error) { return func(req *http.Request) (*url.URL, error) { if req.URL.Path == "/503" { + c.Logf("arvClientProxy: proxying to 503 stub") return url.Parse(s.error503Server.URL) } else { return nil, nil @@ -186,6 +193,7 @@ func (s *DispatcherSuite) TestDispatchToStubDriver(c *check.C) { delete(waiting, ctr.UUID) if len(waiting) == 100 { // trigger scheduler maxConcurrency limit + c.Logf("test: requesting 503 in order to trigger maxConcurrency limit") s.disp.ArvClient.RequestAndDecode(nil, "GET", "503", nil, nil) } if len(waiting) == 0 { @@ -229,9 +237,9 @@ func (s *DispatcherSuite) TestDispatchToStubDriver(c *check.C) { select { case <-done: // loop will end because len(waiting)==0 - case <-time.After(3 * time.Second): + case <-time.After(5 * time.Second): if len(waiting) >= waswaiting { - c.Fatalf("timed out; no progress in 3s while waiting for %d containers: %q", len(waiting), waiting) + c.Fatalf("timed out; no progress in 5 s while waiting for %d containers: %q", len(waiting), waiting) } } }