15370: Merge branch 'main' into 15370-loopback-dispatchcloud
authorTom Clegg <tom@curii.com>
Sat, 21 May 2022 01:28:53 +0000 (21:28 -0400)
committerTom Clegg <tom@curii.com>
Sat, 21 May 2022 01:28:53 +0000 (21:28 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

1  2 
build/run-tests.sh
lib/config/config.default.yml
lib/config/load.go
lib/config/load_test.go
lib/crunchrun/executor_test.go
lib/crunchrun/integration_test.go
sdk/go/arvados/container.go

Simple merge
Simple merge
Simple merge
index 256e8a3e8cb54e18a155e9414b98773e04f8f47a,feb05cb9515bb03be84352d550c24bf82fe80320..fb9792632c5193576d0d9f52d65c09208196928e
@@@ -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".
index 5b146a6321789ea2a34b63e8a50156876dcea23d,fc9f5b36e7c87671132d87d4c98f64cdc29f0a2f..ea6e610d8b7921f97532461cc75dcea4427318f6
@@@ -6,7 -6,12 +6,11 @@@ package crunchru
  
  import (
        "bytes"
+       "fmt"
        "io"
 -      "io/ioutil"
+       "net"
+       "net/http"
+       "os"
        "strings"
        "time"
  
Simple merge
Simple merge