-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing bin path for batchSystemDefinition #17
Comments
So what about adding something like: "batchSystem": {
"jobManager": "SLURM",
"commandRootPath": "/usr/bin" I don't recall from last meeting but @smarru were you going to propose an another solution for this? |
@smarru just pinging if you had put any new thoughts into this. If a solution won't make it into 1.0.0 is there a workaround that you recommend? |
I think we should revisit this issue for 1.1 |
Sorry I missed this ping before. I vote for something like "batchSystemBinPath" since most of the time all commands are usually put in the same location. I think it will be redundant and unnecessary to specify the path on all commands. |
The tradeoff is between several commands having an identical prefix/path versus complexity of having to check that a given command path isn't already absolute and that a batchSystemBinPath value was provided so that a gateway can construct a fully qualified command path using the two. There is zero impact on gateways for several command to have a "redundant" prefix. Is makings several command variables shorter and not sharing a shared substring really worth the complexity? My suggestion is to keep it simple. The command path should stand on its own. |
I wasn't suggesting that individual commandPaths would have relative paths with the shared prefix defined in The logic would be:
So commandPaths has precedence if provided. |
Are the commands enumerated so that a gateway can run whatever "SUBMISSION" references without having to know that "sbatch" is the desired command on a target system? If so, the variables are needed just for that. If the variables aren't needed because the desired design is that a gateway hardcodes the commands based on jobManager type, then the suggestion for having BinPaths makes a lot of sense. |
I think most preexisting gateways hardcode the commands based on jobManager type if they support job multiple job managers, so supporting this would help adoption. |
I think the expectation right now would seem that the gateway will need to know how to interact with the jobManager type. It isn't like by abstracting the job manager command paths behind generic "variables" such as SUBMISSION and JOB_MONITORING and DELETION that a gateway could suddenly become ignorant of the job manager. The gateway will still need to know whether it is using qsub or bsub or sbatch and understand how to use each because of each accept different arguments and have different output. In OnDemand there are cases where the default bin directory doesn't contain a specific binary so it needs to be customizable so with https://osc.github.io/ood-documentation/latest/installation/cluster-config-schema.html#bin-overrides this can be done:
So OnDemand looks for Slurm binaries under That is my context for this discussion. I imagine that commandBinPath or batchSystemBinPath and then the individual commandPaths might offer similar flexibility. But the latter (commandPaths) needs more thought I think if the enums are not fixed (i.e. SUBMISSION). Also, if the command path looked like So it isn't yet clear to me the value of commandPaths having generic variable names like "SUBMISSION" and "DELETION". |
batchSystemDefinition has commandPaths which his an array of commandPathDefinition which has a name and and a path:
So for Slurm one might do:
It doesn't seem appropriate here but what I would like to be able to do is just specify "/usr/bin" somewhere. For example:
The text was updated successfully, but these errors were encountered: