Loading client/vos_user +3 −1 Original line number Diff line number Diff line Loading @@ -186,6 +186,8 @@ DESCRIPTION IMPORTANT NOTE: the VOSpace Transfer Service automatically populates the 'users' table in the database by previously quering the authentication system (RAP). It also adds the user node on the 'node' table, if not present (e.g. '/john.smith' for the user 'john.smith'). So, please, use this client only if you need to handle situations involing users that for some reason are not recognized by the authentication system. """) Loading transfer_service/data_rpc_server.py +12 −7 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ from db_connector import DbConnector from exceptions import MultipleUsersException from job import Job from job_queue import JobQueue from node import Node from rap_client import RapClient from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer Loading Loading @@ -78,9 +79,9 @@ class DataRPCServer(RedisRPCServer): "errorCode": 4, "errorMsg": errorMsg } elif requestBody["requestType"] == "CSTORE" or requestBody["requestType"] == "HSTORE": user = requestBody["userName"] username = requestBody["userName"] try: userInDb = self.dbConn.userExists(user) userInDb = self.dbConn.userExists(username) except Exception: errorMsg = "Database error." self.logger.exception(errorMsg) Loading @@ -90,7 +91,7 @@ class DataRPCServer(RedisRPCServer): return response try: rapCli = RapClient() rapInfo = rapCli.getUserInfo(user) rapInfo = rapCli.getUserInfo(username) except HTTPException: errorMsg = "HTTP exception when trying to connect to RAP." self.logger.exception(errorMsg) Loading Loading @@ -132,9 +133,9 @@ class DataRPCServer(RedisRPCServer): "errorCode": 2, "errorMsg": errorMsg } return response #folderPath = "/home/" + user + "/store" folderPath = self.storageStorePath.replace("{username}", user) userInfo = self.systemUtils.userInfo(user) #folderPath = "/home/" + username + "/store" folderPath = self.storageStorePath.replace("{username}", username) userInfo = self.systemUtils.userInfo(username) # Check if the user exists on the transfer node and is registered in the database if not userInfo: # the user does not exist on the system Loading @@ -153,8 +154,12 @@ class DataRPCServer(RedisRPCServer): else: if not userInDb and rapInfo: # retrieve data from RAP and insert them in db userNode = Node(username, "container") userNode.setCreatorId(rapInfo["id"]) userNode.setParentPath("") try: self.dbConn.insertUser(rapInfo["id"], user, rapInfo["email"]) self.dbConn.insertNode(userNode) self.dbConn.insertUser(rapInfo["id"], username, rapInfo["email"]) except Exception: errorMsg = "Database error." self.logger.exception(errorMsg) Loading transfer_service/import_rpc_server.py +5 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ from config import Config from db_connector import DbConnector from job_queue import JobQueue from job import Job from node import Node from rap_client import RapClient, MultipleUsersException from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer Loading Loading @@ -101,7 +102,11 @@ class ImportRPCServer(RedisRPCServer): else: if not userInDb and rapInfo: # retrieve data from RAP and insert them in db userNode = Node(username, "container") userNode.setCreatorId(rapInfo["id"]) userNode.setParentPath("") try: self.dbConn.insertNode(userNode) self.dbConn.insertUser(rapInfo["id"], username, rapInfo["email"]) except Exception: errorMsg = "Database error." Loading transfer_service/user_rpc_server.py +17 −4 Original line number Diff line number Diff line Loading @@ -8,10 +8,11 @@ import logging import os from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer from config import Config from db_connector import DbConnector from node import Node from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer class UserRPCServer(RedisRPCServer): Loading Loading @@ -62,6 +63,19 @@ class UserRPCServer(RedisRPCServer): return response else: if result: userNode = Node(username, "container") userNode.setCreatorId(userId) userNode.setParentPath("") try: self.dbConn.insertNode(userNode) except Exception: errorMsg = "Database error." self.logger.exception(errorMsg) response = { "responseType": "ERROR", "errorCode": 2, "errorMsg": errorMsg } return response else: response = { "responseType": "USER_ADD_DONE" } else: errorMsg = "User already exists." Loading Loading @@ -120,4 +134,3 @@ class UserRPCServer(RedisRPCServer): def run(self): self.logger.info(f"Starting RPC server of type {self.type}...") super(UserRPCServer, self).run() Loading
client/vos_user +3 −1 Original line number Diff line number Diff line Loading @@ -186,6 +186,8 @@ DESCRIPTION IMPORTANT NOTE: the VOSpace Transfer Service automatically populates the 'users' table in the database by previously quering the authentication system (RAP). It also adds the user node on the 'node' table, if not present (e.g. '/john.smith' for the user 'john.smith'). So, please, use this client only if you need to handle situations involing users that for some reason are not recognized by the authentication system. """) Loading
transfer_service/data_rpc_server.py +12 −7 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ from db_connector import DbConnector from exceptions import MultipleUsersException from job import Job from job_queue import JobQueue from node import Node from rap_client import RapClient from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer Loading Loading @@ -78,9 +79,9 @@ class DataRPCServer(RedisRPCServer): "errorCode": 4, "errorMsg": errorMsg } elif requestBody["requestType"] == "CSTORE" or requestBody["requestType"] == "HSTORE": user = requestBody["userName"] username = requestBody["userName"] try: userInDb = self.dbConn.userExists(user) userInDb = self.dbConn.userExists(username) except Exception: errorMsg = "Database error." self.logger.exception(errorMsg) Loading @@ -90,7 +91,7 @@ class DataRPCServer(RedisRPCServer): return response try: rapCli = RapClient() rapInfo = rapCli.getUserInfo(user) rapInfo = rapCli.getUserInfo(username) except HTTPException: errorMsg = "HTTP exception when trying to connect to RAP." self.logger.exception(errorMsg) Loading Loading @@ -132,9 +133,9 @@ class DataRPCServer(RedisRPCServer): "errorCode": 2, "errorMsg": errorMsg } return response #folderPath = "/home/" + user + "/store" folderPath = self.storageStorePath.replace("{username}", user) userInfo = self.systemUtils.userInfo(user) #folderPath = "/home/" + username + "/store" folderPath = self.storageStorePath.replace("{username}", username) userInfo = self.systemUtils.userInfo(username) # Check if the user exists on the transfer node and is registered in the database if not userInfo: # the user does not exist on the system Loading @@ -153,8 +154,12 @@ class DataRPCServer(RedisRPCServer): else: if not userInDb and rapInfo: # retrieve data from RAP and insert them in db userNode = Node(username, "container") userNode.setCreatorId(rapInfo["id"]) userNode.setParentPath("") try: self.dbConn.insertUser(rapInfo["id"], user, rapInfo["email"]) self.dbConn.insertNode(userNode) self.dbConn.insertUser(rapInfo["id"], username, rapInfo["email"]) except Exception: errorMsg = "Database error." self.logger.exception(errorMsg) Loading
transfer_service/import_rpc_server.py +5 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ from config import Config from db_connector import DbConnector from job_queue import JobQueue from job import Job from node import Node from rap_client import RapClient, MultipleUsersException from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer Loading Loading @@ -101,7 +102,11 @@ class ImportRPCServer(RedisRPCServer): else: if not userInDb and rapInfo: # retrieve data from RAP and insert them in db userNode = Node(username, "container") userNode.setCreatorId(rapInfo["id"]) userNode.setParentPath("") try: self.dbConn.insertNode(userNode) self.dbConn.insertUser(rapInfo["id"], username, rapInfo["email"]) except Exception: errorMsg = "Database error." Loading
transfer_service/user_rpc_server.py +17 −4 Original line number Diff line number Diff line Loading @@ -8,10 +8,11 @@ import logging import os from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer from config import Config from db_connector import DbConnector from node import Node from redis_log_handler import RedisLogHandler from redis_rpc_server import RedisRPCServer class UserRPCServer(RedisRPCServer): Loading Loading @@ -62,6 +63,19 @@ class UserRPCServer(RedisRPCServer): return response else: if result: userNode = Node(username, "container") userNode.setCreatorId(userId) userNode.setParentPath("") try: self.dbConn.insertNode(userNode) except Exception: errorMsg = "Database error." self.logger.exception(errorMsg) response = { "responseType": "ERROR", "errorCode": 2, "errorMsg": errorMsg } return response else: response = { "responseType": "USER_ADD_DONE" } else: errorMsg = "User already exists." Loading Loading @@ -120,4 +134,3 @@ class UserRPCServer(RedisRPCServer): def run(self): self.logger.info(f"Starting RPC server of type {self.type}...") super(UserRPCServer, self).run()