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

Fixes in error reporting and computing manager mappings.

parent 0a6f481a
No related branches found
No related tags found
No related merge requests found
...@@ -441,7 +441,7 @@ class FileManagerAPI(PrivateGETAPI, PrivatePOSTAPI): ...@@ -441,7 +441,7 @@ class FileManagerAPI(PrivateGETAPI, PrivatePOSTAPI):
if computing.auth_mode == 'user_keys': if computing.auth_mode == 'user_keys':
computing_user = user.profile.get_extra_conf('computing_user', storage.computing) computing_user = user.profile.get_extra_conf('computing_user', storage.computing)
if not computing_user: if not computing_user:
raise Exception('Computing resource \'{}\' user is not configured'.format(storage.computing.name)) raise ValueError('No \'computing_user\' parameter found for computing resource \'{}\' in user profile'.format(storage.computing.name))
base_path_expanded = base_path_expanded.replace('$SSH_USER', computing_user) base_path_expanded = base_path_expanded.replace('$SSH_USER', computing_user)
else: else:
base_path_expanded = base_path_expanded.replace('$SSH_USER', computing.conf.get('user')) base_path_expanded = base_path_expanded.replace('$SSH_USER', computing.conf.get('user'))
......
...@@ -246,13 +246,19 @@ class Computing(models.Model): ...@@ -246,13 +246,19 @@ class Computing(models.Model):
managers_mapping = {} managers_mapping = {}
managers_mapping['cluster'+'ssh+cli'+'user_keys'+'slurm'] = computing_managers.SlurmSSHClusterComputingManager managers_mapping['cluster'+'ssh+cli'+'user_keys'+'slurm'] = computing_managers.SlurmSSHClusterComputingManager
managers_mapping['standalone'+'ssh+cli'+'user_keys'+'None'] = computing_managers.SSHStandaloneComputingManager managers_mapping['standalone'+'ssh+cli'+'user_keys'+'None'] = computing_managers.SSHStandaloneComputingManager
managers_mapping['standalone'+'ssh+cli'+'platform_keys'+'None'] = computing_managers.SSHStandaloneComputingManager
managers_mapping['standalone'+'internal'+'internal'+'None'] = computing_managers.InternalStandaloneComputingManager managers_mapping['standalone'+'internal'+'internal'+'None'] = computing_managers.InternalStandaloneComputingManager
# Instantiate the computing manager and return (if not already done) # Instantiate the computing manager and return (if not already done)
try: try:
return self._manager return self._manager
except AttributeError: except AttributeError:
try:
self._manager = managers_mapping[self.type+self.access_mode+self.auth_mode+str(self.wms)](self) self._manager = managers_mapping[self.type+self.access_mode+self.auth_mode+str(self.wms)](self)
except KeyError:
raise ValueError('No computing resource manager for type="{}", access_mode="{}", auth_mode="{}", wms="{}"'
.format(self.type, self.access_mode, self.auth_mode, self.wms)) from None
else:
return self._manager return self._manager
......
...@@ -715,13 +715,13 @@ def get_ssh_access_mode_credentials(computing, user): ...@@ -715,13 +715,13 @@ def get_ssh_access_mode_credentials(computing, user):
except AttributeError: except AttributeError:
computing_host = None computing_host = None
if not computing_host: if not computing_host:
raise Exception('No computing host?!') raise ValueError('No computing host?!')
# Get computing user and keys # Get computing user and keys
if computing.auth_mode == 'user_keys': if computing.auth_mode == 'user_keys':
computing_user = user.profile.get_extra_conf('computing_user', computing) computing_user = user.profile.get_extra_conf('computing_user', computing)
if not computing_user: if not computing_user:
raise Exception('Computing resource \'{}\' user is not configured'.format(computing.name)) raise ValueError('No \'computing_user\' parameter found for computing resource \'{}\' in user profile'.format(computing.name))
# Get user key # Get user key
computing_keys = KeyPair.objects.get(user=user, default=True) computing_keys = KeyPair.objects.get(user=user, default=True)
elif computing.auth_mode == 'platform_keys': elif computing.auth_mode == 'platform_keys':
...@@ -730,7 +730,7 @@ def get_ssh_access_mode_credentials(computing, user): ...@@ -730,7 +730,7 @@ def get_ssh_access_mode_credentials(computing, user):
else: else:
raise NotImplementedError('Auth modes other than user_keys and platform_keys not supported.') raise NotImplementedError('Auth modes other than user_keys and platform_keys not supported.')
if not computing_user: if not computing_user:
raise Exception('No computing user?!') raise ValueError('No \'user\' parameter found for computing resource \'{}\' in its configuration'.format(computing.name))
return (computing_user, computing_host, computing_keys) return (computing_user, computing_host, computing_keys)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment