X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0f784d657527c998e7cd1d7aee8cbd8f0d75e04a..a3d2b8e1de5b8c785846ddc57ae9a4c02bc51adc:/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 5129495a06..84105e1fc7 100644 --- a/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go +++ b/services/crunch-dispatch-slurm/crunch-dispatch-slurm.go @@ -17,6 +17,7 @@ import ( "strings" "time" + "git.arvados.org/arvados.git/lib/cmd" "git.arvados.org/arvados.git/lib/config" "git.arvados.org/arvados.git/lib/dispatchcloud" "git.arvados.org/arvados.git/sdk/go/arvados" @@ -76,7 +77,7 @@ func (disp *Dispatcher) configure(prog string, args []string) error { if disp.logger == nil { disp.logger = logrus.StandardLogger() } - flags := flag.NewFlagSet(prog, flag.ExitOnError) + flags := flag.NewFlagSet(prog, flag.ContinueOnError) flags.Usage = func() { usage(flags) } loader := config.NewLoader(nil, disp.logger) @@ -91,13 +92,9 @@ func (disp *Dispatcher) configure(prog string, args []string) error { false, "Print version information and exit.") - args = loader.MungeLegacyConfigArgs(logrus.StandardLogger(), args, "-legacy-crunch-dispatch-slurm-config") - - // Parse args; omit the first arg which is the command name - err := flags.Parse(args) - - if err == flag.ErrHelp { - return nil + args = loader.MungeLegacyConfigArgs(disp.logger, args, "-legacy-crunch-dispatch-slurm-config") + if ok, code := cmd.ParseFlags(flags, prog, args, "", os.Stderr); !ok { + os.Exit(code) } // Print version information if requested @@ -117,6 +114,8 @@ func (disp *Dispatcher) configure(prog string, args []string) error { return fmt.Errorf("config error: %s", err) } + disp.logger = disp.logger.WithField("ClusterID", disp.cluster.ClusterID) + disp.Client.APIHost = disp.cluster.Services.Controller.ExternalURL.Host disp.Client.AuthToken = disp.cluster.SystemRootToken disp.Client.Insecure = disp.cluster.TLS.Insecure @@ -254,6 +253,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))