From: Tom Clegg Date: Sat, 21 May 2022 01:28:53 +0000 (-0400) Subject: 15370: Merge branch 'main' into 15370-loopback-dispatchcloud X-Git-Tag: 2.5.0~142^2~8 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/3fa6aa4043286ad61e5f29c136d3cc2942e8750d 15370: Merge branch 'main' into 15370-loopback-dispatchcloud Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- 3fa6aa4043286ad61e5f29c136d3cc2942e8750d diff --cc lib/config/load_test.go index 256e8a3e8c,feb05cb951..fb9792632c --- a/lib/config/load_test.go +++ b/lib/config/load_test.go @@@ -602,55 -601,31 +602,80 @@@ func (s *LoadSuite) TestListKeys(c *che } } +func (s *LoadSuite) TestLoopbackInstanceTypes(c *check.C) { + ldr := testLoader(c, ` +Clusters: + z1111: + Containers: + CloudVMs: + Enable: true + Driver: loopback + InstanceTypes: + a: {} + b: {} +`, nil) + cfg, err := ldr.Load() + c.Check(err, check.ErrorMatches, `Clusters\.z1111\.InstanceTypes: cannot use multiple InstanceTypes with loopback driver`) + + ldr = testLoader(c, ` +Clusters: + z1111: + Containers: + CloudVMs: + Enable: true + Driver: loopback +`, nil) + cfg, err = ldr.Load() + c.Assert(err, check.IsNil) + cc, err := cfg.GetCluster("") + c.Assert(err, check.IsNil) + c.Check(cc.InstanceTypes, check.HasLen, 1) + c.Check(cc.InstanceTypes["localhost"].VCPUs, check.Equals, runtime.NumCPU()) + + ldr = testLoader(c, ` +Clusters: + z1111: + Containers: + CloudVMs: + Enable: true + Driver: loopback + InstanceTypes: + a: + VCPUs: 9 +`, nil) + cfg, err = ldr.Load() + c.Assert(err, check.IsNil) + cc, err = cfg.GetCluster("") + c.Assert(err, check.IsNil) + c.Check(cc.InstanceTypes, check.HasLen, 1) + c.Check(cc.InstanceTypes["a"].VCPUs, check.Equals, 9) +} + + func (s *LoadSuite) TestWarnUnusedLocalKeep(c *check.C) { + var logbuf bytes.Buffer + _, err := testLoader(c, ` + Clusters: + z1111: + Volumes: + z: + Replication: 1 + `, &logbuf).Load() + c.Assert(err, check.IsNil) + c.Check(logbuf.String(), check.Matches, `(?ms).*LocalKeepBlobBuffersPerVCPU is 1 but will not be used because at least one volume \(z\) has lower replication than DefaultReplication \(1 < 2\) -- suggest changing to 0.*`) + + logbuf.Reset() + _, err = testLoader(c, ` + Clusters: + z1111: + Volumes: + z: + AccessViaHosts: + "http://0.0.0.0:12345": {} + `, &logbuf).Load() + c.Assert(err, check.IsNil) + c.Check(logbuf.String(), check.Matches, `(?ms).*LocalKeepBlobBuffersPerVCPU is 1 but will not be used because at least one volume \(z\) uses AccessViaHosts -- suggest changing to 0.*`) + } + func (s *LoadSuite) TestImplicitStorageClasses(c *check.C) { // If StorageClasses and Volumes.*.StorageClasses are all // empty, there is a default storage class named "default". diff --cc lib/crunchrun/executor_test.go index 5b146a6321,fc9f5b36e7..ea6e610d8b --- a/lib/crunchrun/executor_test.go +++ b/lib/crunchrun/executor_test.go @@@ -6,7 -6,12 +6,11 @@@ package crunchru import ( "bytes" + "fmt" "io" - "io/ioutil" + "net" + "net/http" + "os" "strings" "time"