Commit 311c6c30 authored by Cristiano Urban's avatar Cristiano Urban
Browse files

Minor changes.

parent 16415873
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -13,7 +13,9 @@ class AbortJobAMQPServer(AMQPServer):
                                  self.params["password"], 
                                  self.params["host"], 
                                  self.params.getint("port"), 
                                  self.params["db"])
                                  self.params["db"],
                                  8,
                                  16)
        super(AbortJobAMQPServer, self).__init__(host, port, queue)      

    def execute_callback(self, requestBody):
+5 −3
Original line number Diff line number Diff line
@@ -12,18 +12,20 @@ from node import Node

class DbConnector(object):

    def __init__(self, user, password, host, port, dbname):
    def __init__(self, user, password, host, port, dbname, minConnNum, maxConnNum):
        self.user = user
        self.password = password
        self.host = host
        self.port = port
        self.dbname = dbname
        self.minConnNum = minConnNum
        self.maxConnNum = maxConnNum
        self.createConnectionPool()

    def createConnectionPool(self):
        self.connPool = ThreadedConnectionPool(
            8,
            16,
            self.minConnNum,
            self.maxConnNum,
            user = self.user,
            password = self.password,
            host = self.host,
+3 −1
Original line number Diff line number Diff line
@@ -15,7 +15,9 @@ class GetJobAMQPServer(AMQPServer):
                                  self.params["password"], 
                                  self.params["host"], 
                                  self.params.getint("port"), 
                                  self.params["db"])
                                  self.params["db"],
                                  8,
                                  16)
        super(GetJobAMQPServer, self).__init__(host, port, queue)      

    def execute_callback(self, requestBody):
+17 −17
Original line number Diff line number Diff line
@@ -28,8 +28,8 @@ class ImportAMQPServer(AMQPServer):
                                     self.params["user"],
                                     self.params["pkey_file_path"])
        self.systemUtils = SystemUtils()
        self.path = None
        self.username = None
        #self.path = None
        #self.username = None
        super(ImportAMQPServer, self).__init__(host, port, queue)

    def execute_callback(self, requestBody):
@@ -37,11 +37,11 @@ class ImportAMQPServer(AMQPServer):
        if "requestType" not in requestBody or "path" not in requestBody:
            response = { "errorCode": 1, "errorMsg": "Malformed request, missing parameters." }
        elif requestBody["requestType"] == "NODE_IMPORT":
            self.path = os.path.abspath(requestBody["path"])
            self.username = requestBody["userName"]
            path = os.path.abspath(requestBody["path"])
            username = requestBody["userName"]
            #self.dbConn.connect()
            userInDb = self.dbConn.userExists(self.username)
            userInfo = self.systemUtils.userInfo(self.username)
            userInDb = self.dbConn.userExists(username)
            userInfo = self.systemUtils.userInfo(username)
            out = open("import_amqp_server_log.txt", "a")
            
            if not userInfo or not userInDb:
@@ -51,8 +51,8 @@ class ImportAMQPServer(AMQPServer):
                #self.dbConn.disconnect()
                return response
            
            userId = self.dbConn.getRapId(self.username)
            pathPrefix = self.dbConn.storageBasePathIsValid(self.path)
            userId = self.dbConn.getRapId(username)
            pathPrefix = self.dbConn.storageBasePathIsValid(path)
            
            if pathPrefix:
                storageId = self.dbConn.getStorageId(pathPrefix)
@@ -64,44 +64,44 @@ class ImportAMQPServer(AMQPServer):
                #self.dbConn.disconnect()
                return response
            
            if not os.path.exists(self.path):
            if not os.path.exists(path):
                response = { "responseType": "ERROR",
                             "errorCode": 4,
                             "errorMsg": "Path not found." }
                #self.dbConn.disconnect()
                return response
            elif not os.path.isdir(self.path):
            elif not os.path.isdir(path):
                response = { "responseType": "ERROR",
                             "errorCode": 5,
                             "errorMsg": "Directory path expected." }
                #self.dbConn.disconnect()
                return response
            elif self.username not in self.path:
            elif username not in path:
                response = { "responseType": "ERROR",
                             "errorCode": 6,
                             "errorMsg": "Directory path does not contain the username." }
                #self.dbConn.disconnect()
                return response
            elif os.path.dirname(self.path) != pathPrefix + '/' + self.username:
            elif os.path.dirname(path) != pathPrefix + '/' + username:
                response = { "responseType": "ERROR",
                             "errorCode": 7,
                             "errorMsg": "Invalid path, directory must be located in " + pathPrefix + '/' + self.username  }
                             "errorMsg": "Invalid path, directory must be located in " + pathPrefix + '/' + username  }
                #self.dbConn.disconnect()
                return response            
            else:
                if storageType == "cold":
                    self.tapeClient.connect()
                    self.tapeClient.recallChecksumFiles(self.path)
                    self.tapeClient.recallChecksumFiles(path)
                    self.tapeClient.disconnect()
                
                [ dirs, files ] = self.systemUtils.scanRecursive(os.path.dirname(self.path))
                [ dirs, files ] = self.systemUtils.scanRecursive(os.path.dirname(path))
                
                tstampWrapperDirPattern = re.compile("/[0-9]{4}_[0-9]{2}_[0-9]{2}-[0-9]{2}_[0-9]{2}_[0-9]{2}-vos_wrapper")
                for dir in dirs:            
                    out.write(f"DIR dir: {dir}\n")
                    out.write(f"DIR pathPrefix: {pathPrefix}\n\n")
                    
                    if self.path in dir:
                    if path in dir:
                        parentPath = os.path.dirname(dir).split(pathPrefix)[1]
                        nodeName = os.path.basename(dir)

@@ -131,7 +131,7 @@ class ImportAMQPServer(AMQPServer):

                for flist in files:
                    for file in flist:                
                        if self.md5calc.fileIsValid(file) and self.path in os.path.dirname(file):
                        if self.md5calc.fileIsValid(file) and path in os.path.dirname(file):
                            out.write(f"FILE files: {files}\n")
                            out.write(f"FILE flist: {flist}\n")
                            out.write(f"FILE file: {file}\n")
+13 −11
Original line number Diff line number Diff line
@@ -15,9 +15,11 @@ class JobAMQPServer(AMQPServer):
                                  self.params["password"],
                                  self.params["host"],
                                  self.params.getint("port"),
                                  self.params["db"])
        self.jobId = None
        self.jobPhase = None
                                  self.params["db"],
                                  8,
                                  16)
        #self.jobId = None
        #self.jobPhase = None
        super(JobAMQPServer, self).__init__(host, port, queue)

    def execute_callback(self, requestBody):
@@ -32,16 +34,16 @@ class JobAMQPServer(AMQPServer):
            #self.dbConn.disconnect()
            response = { "responseType": "LST_DONE", "jobList": result }
        elif requestBody["requestType"] == "JOB_BY_PHASE":
            self.jobPhase = requestBody["jobPhase"]
            jobPhase = requestBody["jobPhase"]
            #self.dbConn.connect()
            result = self.dbConn.listJobsByPhase(self.jobPhase)
            result = self.dbConn.listJobsByPhase(jobPhase)
            #self.dbConn.disconnect()
            response = { "responseType": "LST_BY_PHASE_DONE", "jobList": result }
        elif requestBody["requestType"] == "JOB_INFO":
            self.jobId = requestBody["jobId"]
            jobId = requestBody["jobId"]
            #self.dbConn.connect()
            if self.dbConn.jobExists(self.jobId):
                result = self.dbConn.getJobInfo(self.jobId)
            if self.dbConn.jobExists(jobId):
                result = self.dbConn.getJobInfo(jobId)
                response = { "responseType": "LST_INFO_DONE", "jobInfo": result }
            else:
                response = { "responseType": "ERROR",
@@ -49,10 +51,10 @@ class JobAMQPServer(AMQPServer):
                             "errorMsg": "Wrong job ID." }
            #self.dbConn.disconnect()
        elif requestBody["requestType"] == "JOB_RESULTS":
            self.jobId = requestBody["jobId"]
            jobId = requestBody["jobId"]
            #self.dbConn.connect()
            if self.dbConn.jobExists(self.jobId):
                result = self.dbConn.getJobResults(self.jobId)
            if self.dbConn.jobExists(jobId):
                result = self.dbConn.getJobResults(jobId)
                response = { "responseType": "LST_RESULTS_DONE", "jobResults": result }
            else:
                response = { "responseType": "ERROR",
Loading