Skip to content

Commit

Permalink
minor fixes for API changes induced by slurm wrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
o-smirnov committed Jan 28, 2024
1 parent 3ca0348 commit e61296d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 14 deletions.
8 changes: 6 additions & 2 deletions stimela/backends/kube/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Dict, List, Optional, Any
from typing import Dict, List, Optional, Any, Callable
from enum import Enum
from omegaconf import OmegaConf
from dataclasses import dataclass
Expand Down Expand Up @@ -247,7 +247,11 @@ def cleanup(backend: 'stimela.backend.StimelaBackendOptions', log: logging.Logge

def run(cab: 'stimela.kitchen.cab.Cab', params: Dict[str, Any], fqname: str,
backend: 'stimela.backend.StimelaBackendOptions',
log: logging.Logger, subst: Optional[Dict[str, Any]] = None):
log: logging.Logger, subst: Optional[Dict[str, Any]] = None,
command_wrapper: Optional[Callable] = None):
# normally runner.py won't allow this, but check just in case
if command_wrapper:
raise BackendError(f"kube backend cannot be used with a command wrapper")
from . import run_kube
return run_kube.run(cab=cab, params=params, fqname=fqname, backend=backend, log=log, subst=subst)

Expand Down
7 changes: 1 addition & 6 deletions stimela/backends/kube/run_kube.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@

def run(cab: Cab, params: Dict[str, Any], fqname: str,
backend: StimelaBackendOptions,
log: logging.Logger, subst: Optional[Dict[str, Any]] = None,
command_wrapper: Optional[Callable] = None):
log: logging.Logger, subst: Optional[Dict[str, Any]] = None):
"""Runs cab contents
Args:
Expand All @@ -44,10 +43,6 @@ def run(cab: Cab, params: Dict[str, Any], fqname: str,
Any: return value (e.g. exit code) of content
"""

# normally runner.py won't allow this, but check just in case
if command_wrapper:
raise BackendError(f"kube backend cannot be used with a command wrapper")

if not cab.image:
raise BackendError(f"kube backend requires cab.image to be set")

Expand Down
10 changes: 4 additions & 6 deletions stimela/backends/slurm.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@
# path to default srun binary
_default_srun_path = None


@dataclass
class SlurmOptions(object):
enable: bool = True
srun_path: Optional[str] = None # path to executable
srun_opts: Dict[str, str] = EmptyDictDefault()
build_local = True
enable: bool = False # enables passing off jobs to slurm via srun
srun_path: Optional[str] = None # path to srun executable
srun_opts: Dict[str, str] = EmptyDictDefault() # extra options passed to srun. "--" prepended, and "_" replaced by "-"
build_local = True # if True, images will be built locally (i.e. on the head node) even when slurm is enabled

def get_executable(self):
global _default_srun_path
Expand Down Expand Up @@ -61,6 +60,5 @@ def build_command_wrapper(self, args: List[str], fqname: Optional[str]=None) ->
return self.run_command_wrapper(args, fqname=fqname)



SlurmOptionsSchema = OmegaConf.structured(SlurmOptions)

0 comments on commit e61296d

Please sign in to comment.