diff --git a/services/webapp/code/rosetta/core_app/computing_managers.py b/services/webapp/code/rosetta/core_app/computing_managers.py index 1ec60127a662c81bf18cab1fb9d10490b30c6ff7..46bc4d2da61dbd50b5e0e408ea28cbf8ffa07260 100644 --- a/services/webapp/code/rosetta/core_app/computing_managers.py +++ b/services/webapp/code/rosetta/core_app/computing_managers.py @@ -314,23 +314,24 @@ class SlurmComputingManager(ComputingManager): # Get webapp conn string from.utils import get_webapp_conn_string webapp_conn_string = get_webapp_conn_string() + + # Initialize sbatch args (force 1 task for now) + sbatch_args = '-N1 ' # Get task computing parameters and set sbatch args - sbatch_args = '' if task.computing_options: task_partition = task.computing_options.get('partition', None) task_cpus = task.computing_options.get('cpus', None) task_memory = task.computing_options.get('memory', None) # Set sbatch args - sbatch_args = '' if task_partition: sbatch_args += '-p {} '.format(task_partition) - #if task_cpus: - # sbatch_args += '-c {} '.format() - #if task_memory: - # sbatch_args += '-m {} '.format() - + if task_cpus: + sbatch_args += '-c {} '.format(task_cpus) + if task_memory: + sbatch_args += '--mem {} '.format(task_memory) + # Set output and error files sbatch_args += ' --output=\$HOME/{}.log --error=\$HOME/{}.log '.format(task.uuid, task.uuid) diff --git a/services/webapp/code/rosetta/core_app/management/commands/core_app_populate.py b/services/webapp/code/rosetta/core_app/management/commands/core_app_populate.py index d73c0d77fb176e4caab08f27207710618810ab5f..4113ce9f673640ad97218af43c85ef38cfeb245f 100644 --- a/services/webapp/code/rosetta/core_app/management/commands/core_app_populate.py +++ b/services/webapp/code/rosetta/core_app/management/commands/core_app_populate.py @@ -226,7 +226,7 @@ class Command(BaseCommand): # Create demo slurm sys computing conf ComputingSysConf.objects.create(computing = demo_slurm_computing, - data = {'master': 'slurmclustermaster-main'}) + data = {'master': 'slurmclustermaster-main', 'default_partition': 'partition1'}) # Create demo slurm user computing conf ComputingUserConf.objects.create(user = testuser, diff --git a/services/webapp/code/rosetta/core_app/models.py b/services/webapp/code/rosetta/core_app/models.py index cb19c07cee2f625f7f8520e4f1619a94b6eed871..5bb17919cde5e0e4b9dfeb9fa3e80d0fad330ae3 100644 --- a/services/webapp/code/rosetta/core_app/models.py +++ b/services/webapp/code/rosetta/core_app/models.py @@ -211,6 +211,14 @@ class Computing(models.Model): return None return param_value + @property + def conf_params(self): + class ConfParams(): + def __init__(self, computing): + self.computing = computing + def __getitem__(self, key): + return self.computing.get_conf_param(key) + return ConfParams(self) @property def manager(self): diff --git a/services/webapp/code/rosetta/core_app/templates/create_task.html b/services/webapp/code/rosetta/core_app/templates/create_task.html index 71b94c96fe08155f9939093daaeb558d7d878c7f..c22487addd4b2dff567e2cba17ed96af4c21a807 100644 --- a/services/webapp/code/rosetta/core_app/templates/create_task.html +++ b/services/webapp/code/rosetta/core_app/templates/create_task.html @@ -185,9 +185,9 @@ <td><b>Computing options</b></td> <td> <table> - <tr><td>Partition</td><td><input type="text" name="computing_partition" value="" placeholder="" size="20" /></td></tr> - <tr><td>Cpus</td><td><input type="text" name="computing_cpus" value="" placeholder="" size="5" /></td></tr> - <tr><td>Memory</td><td><input type="text" name="computing_memory" value="" placeholder="" size="5" /></td></tr> + <tr><td>Partition</td><td><input type="text" name="computing_partition" value="{{ data.task_computing.conf_params.default_partition }}" placeholder="" size="20" /></td></tr> + <tr><td>Cpus</td><td><input type="text" name="computing_cpus" value="{{ data.task_computing.conf_params.default_cpus }}" placeholder="" size="5" /></td></tr> + <tr><td>Memory</td><td><input type="text" name="computing_memory" value="{{ data.task_computing.conf_params.default_memory }}" placeholder="" size="5" /></td></tr> </table> </td> </tr>