15954: Fix test-mode volume config.
authorTom Clegg <tom@tomclegg.ca>
Tue, 28 Jan 2020 15:51:55 +0000 (10:51 -0500)
committerTom Clegg <tom@tomclegg.ca>
Tue, 28 Jan 2020 15:51:55 +0000 (10:51 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

lib/boot/cmd.go

index 633dbdb0bd1a97d470fb1f85db91a20e916b334a..7f513310d960ba3eaefdeea0bc4d8e9822f0e714 100644 (file)
@@ -434,23 +434,23 @@ func (boot *bootCommand) autofillConfig(cfg *arvados.Config, log logrus.FieldLog
                port++
                cluster.Services.Keepstore.InternalURLs[arvados.URL{Scheme: "http", Host: fmt.Sprintf("localhost:%d", port)}] = arvados.ServiceInstance{}
 
-               n := -1
+               // Create a directory-backed volume for each keepstore
+               // process.
+               cluster.Volumes = map[string]arvados.Volume{}
                for url := range cluster.Services.Keepstore.InternalURLs {
-                       n++
-                       datadir := fmt.Sprintf("%s/keep%d.data", boot.tempdir, n)
+                       volnum := len(cluster.Volumes)
+                       datadir := fmt.Sprintf("%s/keep%d.data", boot.tempdir, volnum)
                        if _, err = os.Stat(datadir + "/."); err == nil {
                        } else if !os.IsNotExist(err) {
                                return err
                        } else if err = os.Mkdir(datadir, 0777); err != nil {
                                return err
                        }
-                       cluster.Volumes = map[string]arvados.Volume{
-                               fmt.Sprintf("zzzzz-nyw5e-%015d", n): arvados.Volume{
-                                       Driver:           "Directory",
-                                       DriverParameters: json.RawMessage(fmt.Sprintf(`{"Root":%q}`, datadir)),
-                                       AccessViaHosts: map[arvados.URL]arvados.VolumeAccess{
-                                               url: {},
-                                       },
+                       cluster.Volumes[fmt.Sprintf("zzzzz-nyw5e-%015d", volnum)] = arvados.Volume{
+                               Driver:           "Directory",
+                               DriverParameters: json.RawMessage(fmt.Sprintf(`{"Root":%q}`, datadir)),
+                               AccessViaHosts: map[arvados.URL]arvados.VolumeAccess{
+                                       url: {},
                                },
                        }
                }