diff --git a/config/cscs.py b/config/cscs.py index 4a68e3645a..8697b46a3b 100644 --- a/config/cscs.py +++ b/config/cscs.py @@ -137,6 +137,22 @@ class ReframeSettings: 'resources': { 'switches': ['--switches={num_switches}'] } + }, + + 'jupyter_gpu': { + 'scheduler': 'nativeslurm', + 'environs': ['builtin'], + 'access': ['-Cgpu', '--reservation=jupyter_gpu'], + 'descr': 'JupyterHub GPU nodes', + 'max_jobs': 10, + }, + + 'jupyter_mc': { + 'scheduler': 'nativeslurm', + 'environs': ['builtin'], + 'access': ['-Cmc', '--reservation=jupyter_mc'], + 'descr': 'JupyterHub multicore nodes', + 'max_jobs': 10, } } }, @@ -196,6 +212,22 @@ class ReframeSettings: 'switches': ['--switches={num_switches}'] } }, + + 'jupyter_gpu': { + 'scheduler': 'nativeslurm', + 'environs': ['builtin'], + 'access': ['-Cgpu', '--reservation=jupyter_gpu'], + 'descr': 'JupyterHub GPU nodes', + 'max_jobs': 10, + }, + + 'jupyter_mc': { + 'scheduler': 'nativeslurm', + 'environs': ['builtin'], + 'access': ['-Cmc', '--reservation=jupyter_mc'], + 'descr': 'JupyterHub multicore nodes', + 'max_jobs': 10, + } } }, diff --git a/cscs-checks/tools/jupyter/jupyter_tests.py b/cscs-checks/tools/jupyter/jupyter_tests.py new file mode 100644 index 0000000000..22be136b01 --- /dev/null +++ b/cscs-checks/tools/jupyter/jupyter_tests.py @@ -0,0 +1,15 @@ +import reframe as rfm +import reframe.utility.sanity as sn + + +@rfm.simple_test +class JupyterHubSubmitTest(rfm.RunOnlyRegressionTest): + def __init__(self): + self.valid_systems = ['daint:jupyter_gpu', 'daint:jupyter_mc', + 'dom:jupyter_gpu', 'dom:jupyter_mc'] + self.valid_prog_environs = ['*'] + self.sourcesdir = None + self.executable = 'hostname' + self.time_limit = (0, 1, 0) + self.sanity_patterns = sn.assert_found(r'nid\d+', self.stdout) + self.tags = {'production', 'maintenance'}