Skip to content
Snippets Groups Projects
Commit 35a06a98 authored by Stefano Alberto Russo's avatar Stefano Alberto Russo
Browse files

Added support for user data folder with local Docker containers. Cleaned up some conf vars.

parent 3be32e1a
No related branches found
No related tags found
No related merge requests found
from .models import TaskStatuses, KeyPair, Task from .models import TaskStatuses, KeyPair, Task
from .utils import os_shell from .utils import os_shell
from .exceptions import ErrorMessage, ConsistencyException from .exceptions import ErrorMessage, ConsistencyException
from django.conf import settings
# Setup logging # Setup logging
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# Conf
TASK_DATA_DIR = "/data"
class ComputingManager(object): class ComputingManager(object):
...@@ -77,6 +75,9 @@ class LocalComputingManager(ComputingManager): ...@@ -77,6 +75,9 @@ class LocalComputingManager(ComputingManager):
def _start_task(self, task): def _start_task(self, task):
if task.container.type != 'docker':
raise ErrorMessage('Sorry, only Docker container are supported on this computing resource.')
# Init run command #--cap-add=NET_ADMIN --cap-add=NET_RAW # Init run command #--cap-add=NET_ADMIN --cap-add=NET_RAW
run_command = 'sudo docker run --network=rosetta_default --name rosetta-task-{}'.format( task.id) run_command = 'sudo docker run --network=rosetta_default --name rosetta-task-{}'.format( task.id)
...@@ -84,8 +85,8 @@ class LocalComputingManager(ComputingManager): ...@@ -84,8 +85,8 @@ class LocalComputingManager(ComputingManager):
if task.auth_pass: if task.auth_pass:
run_command += ' -eAUTH_PASS={} '.format(task.auth_pass) run_command += ' -eAUTH_PASS={} '.format(task.auth_pass)
# Data volume # User data volume
run_command += ' -v {}/task-{}:/data'.format(TASK_DATA_DIR, task.id) run_command += ' -v {}/user-{}:/data'.format(settings.LOCAL_USER_DATA_DIR, task.user.id)
# Set registry string # Set registry string
if task.container.registry == 'local': if task.container.registry == 'local':
......
...@@ -151,10 +151,6 @@ SWAGGER_SETTINGS = { ...@@ -151,10 +151,6 @@ SWAGGER_SETTINGS = {
'USE_SESSION_AUTH': False 'USE_SESSION_AUTH': False
} }
# Data path for resources etc.
DATA_PATH = '/data/'
TMP_PATH = '/tmp/'
#=============================== #===============================
# Email settings # Email settings
...@@ -227,6 +223,9 @@ LOGGING = { ...@@ -227,6 +223,9 @@ LOGGING = {
} }
# Local user data dir
LOCAL_USER_DATA_DIR = os.environ.get('LOCAL_USER_DATA_DIR', '/data')
#=============================== #===============================
# Auth # Auth
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment