X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/25236212b8f726335ede5d4aa5da120b81ef19a4..c14246b9a21d038fc6fa850f4032659a98397784:/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go diff --git a/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go b/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go index 85a71d4774..f28d4c2826 100644 --- a/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go +++ b/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go @@ -32,8 +32,6 @@ type Config struct { // // Example: []string{"crunch-run", "--cgroup-parent-subsystem=memory"} CrunchRunCommand []string - - ArvadosKeepServices []string } func main() { @@ -81,11 +79,11 @@ func doMain() error { // propagated to crunch-run via SLURM. os.Setenv("ARVADOS_API_HOST", theConfig.Client.APIHost) os.Setenv("ARVADOS_API_TOKEN", theConfig.Client.AuthToken) - os.Setenv("ARVADOS_API_INSECURE", "") + os.Setenv("ARVADOS_API_HOST_INSECURE", "") if theConfig.Client.Insecure { - os.Setenv("ARVADOS_API_INSECURE", "1") + os.Setenv("ARVADOS_API_HOST_INSECURE", "1") } - os.Setenv("ARVADOS_KEEP_SERVICES", strings.Join(theConfig.ArvadosKeepServices, " ")) + os.Setenv("ARVADOS_KEEP_SERVICES", strings.Join(theConfig.Client.KeepServiceURIs, " ")) os.Setenv("ARVADOS_EXTERNAL_CLIENT", "") } else { log.Printf("warning: Client credentials missing from config, so falling back on environment variables (deprecated).") @@ -129,6 +127,9 @@ func sbatchFunc(container arvados.Container) *exec.Cmd { sbatchArgs = append(sbatchArgs, fmt.Sprintf("--job-name=%s", container.UUID)) sbatchArgs = append(sbatchArgs, fmt.Sprintf("--mem-per-cpu=%d", int(memPerCPU))) sbatchArgs = append(sbatchArgs, fmt.Sprintf("--cpus-per-task=%d", container.RuntimeConstraints.VCPUs)) + if container.SchedulingParameters.Partitions != nil { + sbatchArgs = append(sbatchArgs, fmt.Sprintf("--partition=%s", strings.Join(container.SchedulingParameters.Partitions, ","))) + } return exec.Command("sbatch", sbatchArgs...) } @@ -182,9 +183,10 @@ func submit(dispatcher *dispatch.Dispatcher, squeueUpdater.SlurmLock.Lock() defer squeueUpdater.SlurmLock.Unlock() + log.Printf("sbatch starting: %+q", cmd.Args) err := cmd.Start() if err != nil { - submitErr = fmt.Errorf("Error starting %v: %v", cmd.Args, err) + submitErr = fmt.Errorf("Error starting sbatch: %v", err) return }