[ARVADOS] created: 2.1.0-1057-g237f9a7c7

Git user git at public.arvados.org
Wed Jul 14 20:37:59 UTC 2021


        at  237f9a7c77495bc8c71404f495f5cc6879110e9e (commit)


commit 237f9a7c77495bc8c71404f495f5cc6879110e9e
Author: Peter Amstutz <peter.amstutz at curii.com>
Date:   Wed Jul 14 16:37:19 2021 -0400

    17816: Add --runtime-engine to crunch-dispatch-local and crunch-dispatch-slurm
    
    refs #17816
    
    Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>

diff --git a/services/crunch-dispatch-local/crunch-dispatch-local.go b/services/crunch-dispatch-local/crunch-dispatch-local.go
index 2922817b5..4a45f1054 100644
--- a/services/crunch-dispatch-local/crunch-dispatch-local.go
+++ b/services/crunch-dispatch-local/crunch-dispatch-local.go
@@ -17,6 +17,7 @@ import (
 	"syscall"
 	"time"
 
+	"git.arvados.org/arvados.git/lib/config"
 	"git.arvados.org/arvados.git/sdk/go/arvados"
 	"git.arvados.org/arvados.git/sdk/go/arvadosclient"
 	"git.arvados.org/arvados.git/sdk/go/dispatch"
@@ -74,6 +75,13 @@ func doMain() error {
 		return nil
 	}
 
+	loader := config.NewLoader(nil, logger)
+	cfg, err := loader.Load()
+	cluster, err := cfg.GetCluster("")
+	if err != nil {
+		return fmt.Errorf("config error: %s", err)
+	}
+
 	logger.Printf("crunch-dispatch-local %s started", version)
 
 	runningCmds = make(map[string]*exec.Cmd)
@@ -90,7 +98,7 @@ func doMain() error {
 	dispatcher := dispatch.Dispatcher{
 		Logger:       logger,
 		Arv:          arv,
-		RunContainer: (&LocalRun{startFunc, make(chan bool, 8), ctx}).run,
+		RunContainer: (&LocalRun{startFunc, make(chan bool, 8), ctx, cluster}).run,
 		PollPeriod:   time.Duration(*pollInterval) * time.Second,
 	}
 
@@ -128,6 +136,7 @@ type LocalRun struct {
 	startCmd         func(container arvados.Container, cmd *exec.Cmd) error
 	concurrencyLimit chan bool
 	ctx              context.Context
+	cluster          *arvados.Cluster
 }
 
 // Run a container.
@@ -169,7 +178,7 @@ func (lr *LocalRun) run(dispatcher *dispatch.Dispatcher,
 		waitGroup.Add(1)
 		defer waitGroup.Done()
 
-		cmd := exec.Command(*crunchRunCommand, uuid)
+		cmd := exec.Command(*crunchRunCommand, "--runtime-engine="+lr.cluster.Containers.RuntimeEngine, uuid)
 		cmd.Stdin = nil
 		cmd.Stderr = os.Stderr
 		cmd.Stdout = os.Stderr
diff --git a/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go b/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go
index a5899ce8a..2f2f013c7 100644
--- a/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go
+++ b/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go
@@ -255,6 +255,7 @@ func (disp *Dispatcher) submit(container arvados.Container, crunchRunCommand []s
 	// append() here avoids modifying crunchRunCommand's
 	// underlying array, which is shared with other goroutines.
 	crArgs := append([]string(nil), crunchRunCommand...)
+	crArgs = append(crArgs, "--runtime-engine="+disp.cluster.Containers.RuntimeEngine)
 	crArgs = append(crArgs, container.UUID)
 	crScript := strings.NewReader(execScript(crArgs))
 

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list