diff --git a/transfer_service/group_rw_executor.py b/transfer_service/group_rw_executor.py index 214c2fb6773dbaf9ef902c1edf840642d8720eb1..d41603a5833504e29d5476322aa71388b15a53b2 100644 --- a/transfer_service/group_rw_executor.py +++ b/transfer_service/group_rw_executor.py @@ -73,7 +73,7 @@ class GroupRwExecutor(TaskExecutor): self.dbConn.setEndTime(self.jobId) # Send e-mail notification - m = Mailer() + m = Mailer(self.logger) m.addRecipient(self.adminEmail) userEmail = self.dbConn.getUserEmail(self.userId) if userEmail != self.adminEmail: diff --git a/transfer_service/import_executor.py b/transfer_service/import_executor.py index d861740e1d9c1d1b11b19f512552e32c38bb9f9b..4ee7897eb17bc1406115b80b817646e5c2ff9d0f 100644 --- a/transfer_service/import_executor.py +++ b/transfer_service/import_executor.py @@ -30,12 +30,7 @@ class ImportExecutor(TaskExecutor): params.getint("port"), params["db"], 1, - 1) - params = config.loadSection("spectrum_archive") - self.tapeClient = TapeClient(params["host"], - params.getint("port"), - params["user"], - params["pkey_file_path"]) + 1) params = config.loadSection("mail") self.adminEmail = params["admin_email"] params = config.loadSection("logging") @@ -51,6 +46,12 @@ class ImportExecutor(TaskExecutor): self.logger.addHandler(redisLogHandler) self.logger.addHandler(logStreamHandler) self.resDir = params["res_dir"] + params = config.loadSection("spectrum_archive") + self.tapeClient = TapeClient(params["host"], + params.getint("port"), + params["user"], + params["pkey_file_path"], + self.logger) self.systemUtils = SystemUtils() self.jobObj = None self.jobId = None @@ -177,7 +178,7 @@ class ImportExecutor(TaskExecutor): self.dbConn.setEndTime(self.jobId) # Send e-mail notification - m = Mailer() + m = Mailer(self.logger) m.addRecipient(self.adminEmail) msg = f""" [VOSpace import procedure summary] diff --git a/transfer_service/mailer.py b/transfer_service/mailer.py index 14ed8ac6d71b2364272a824ba01e46dbe2ee49f6..3c2da9f08746bb06903a5d81124fb16dd56075cd 100644 --- a/transfer_service/mailer.py +++ b/transfer_service/mailer.py @@ -15,25 +15,26 @@ from smtplib import SMTPException class Mailer(object): - def __init__(self): + def __init__(self, logger): config = Config("/etc/vos_ts/vos_ts.conf") params = config.loadSection("mail") self.smtpServer = params["smtp_server"] self.smtpPort = params.getint("smtp_port") self.sender = params["no_reply_email"] self.enabled = params.getboolean("enable_notifications") - params = config.loadSection("logging") - self.logger = logging.getLogger(__name__) - logLevel = "logging." + params["log_level"] - logFormat = params["log_format"] - logFormatter = logging.Formatter(logFormat) - self.logger.setLevel(eval(logLevel)) - redisLogHandler = RedisLogHandler() - logStreamHandler = logging.StreamHandler() - logStreamHandler.setFormatter(logFormatter) - redisLogHandler.setFormatter(logFormatter) - self.logger.addHandler(redisLogHandler) - self.logger.addHandler(logStreamHandler) + self.logger = logger + #params = config.loadSection("logging") + #self.logger = logging.getLogger(__name__) + #logLevel = "logging." + params["log_level"] + #logFormat = params["log_format"] + #logFormatter = logging.Formatter(logFormat) + #self.logger.setLevel(eval(logLevel)) + #redisLogHandler = RedisLogHandler() + #logStreamHandler = logging.StreamHandler() + #logStreamHandler.setFormatter(logFormatter) + #redisLogHandler.setFormatter(logFormatter) + #self.logger.addHandler(redisLogHandler) + #self.logger.addHandler(logStreamHandler) self.recipients = [] self.message = None diff --git a/transfer_service/retrieve_cleaner.py b/transfer_service/retrieve_cleaner.py index 68cf5313a4da38352b332e7050ec5165c3589ae3..7229cab202190e4923579b61f0df439c61d3abc9 100644 --- a/transfer_service/retrieve_cleaner.py +++ b/transfer_service/retrieve_cleaner.py @@ -8,7 +8,6 @@ import shutil from config import Config from db_connector import DbConnector -from mailer import Mailer from redis_log_handler import RedisLogHandler from task_executor import TaskExecutor @@ -31,8 +30,6 @@ class RetrieveCleaner(TaskExecutor): params = config.loadSection("async_recall") self.days = params.getint("days") self.seconds = params.getint("hours") * 3600 + params.getint("minutes") * 60 + params.getint("seconds") - params = config.loadSection("mail") - self.adminEmail = params["admin_email"] params = config.loadSection("logging") self.logger = logging.getLogger(__name__) logLevel = "logging." + params["log_level"] diff --git a/transfer_service/retrieve_executor.py b/transfer_service/retrieve_executor.py index 4ecbe1b5671597ed5e72d3faa70dbe107f748797..92f85463b1b4e360eba7205a777d583dec46befe 100644 --- a/transfer_service/retrieve_executor.py +++ b/transfer_service/retrieve_executor.py @@ -40,13 +40,7 @@ class RetrieveExecutor(TaskExecutor): def __init__(self): self.type = "retrieve_executor" self.systemUtils = SystemUtils() - config = Config("/etc/vos_ts/vos_ts.conf") - params = config.loadSection("spectrum_archive") - self.tapeClient = TapeClient(params["host"], - params.getint("port"), - params["user"], - params["pkey_file_path"]) - self.tapePool = params["tape_pool"] + config = Config("/etc/vos_ts/vos_ts.conf") params = config.loadSection("transfer_node") self.storageRetrievePath = params["retrieve_path"] params = config.loadSection("file_catalog") @@ -75,6 +69,13 @@ class RetrieveExecutor(TaskExecutor): redisLogHandler.setFormatter(logFormatter) self.logger.addHandler(redisLogHandler) self.logger.addHandler(logStreamHandler) + params = config.loadSection("spectrum_archive") + self.tapePool = params["tape_pool"] + self.tapeClient = TapeClient(params["host"], + params.getint("port"), + params["user"], + params["pkey_file_path"], + self.logger) self.storageType = None self.jobObj = None self.jobId = None @@ -278,7 +279,7 @@ class RetrieveExecutor(TaskExecutor): self.jobObj.jobInfo["destPathList"] = self.destPathList.copy() # Send e-mail notification - m = Mailer() + m = Mailer(self.logger) m.addRecipient(self.adminEmail) userEmail = self.dbConn.getUserEmail(self.jobObj.ownerId) diff --git a/transfer_service/retrieve_preprocessor.py b/transfer_service/retrieve_preprocessor.py index 0442da56c39efe686baec0a19fa302ef7410e17c..0165d68d7074ba6f32c5c9fdf29ba3c45b2fbc97 100644 --- a/transfer_service/retrieve_preprocessor.py +++ b/transfer_service/retrieve_preprocessor.py @@ -50,7 +50,7 @@ class RetrievePreprocessor(TaskExecutor): def update(self): # Send e-mail notification - m = Mailer() + m = Mailer(self.logger) m.addRecipient(self.adminEmail) userEmail = self.dbConn.getUserEmail(self.jobObj.ownerId) diff --git a/transfer_service/store_executor.py b/transfer_service/store_executor.py index 972645386f01a436c195691b22ef54ff97d138c0..7fd9910de7629270565771df12a314ff0a2455fc 100644 --- a/transfer_service/store_executor.py +++ b/transfer_service/store_executor.py @@ -21,12 +21,7 @@ class StoreExecutor(TaskExecutor): def __init__(self): self.type = "store_executor" - config = Config("/etc/vos_ts/vos_ts.conf") - params = config.loadSection("spectrum_archive") - self.tapeClient = TapeClient(params["host"], - params.getint("port"), - params["user"], - params["pkey_file_path"]) + config = Config("/etc/vos_ts/vos_ts.conf") params = config.loadSection("transfer_node") self.storageStorePath = params["store_path"] params = config.loadSection("file_catalog") @@ -54,6 +49,12 @@ class StoreExecutor(TaskExecutor): self.logger.addHandler(redisLogHandler) self.logger.addHandler(logStreamHandler) self.resDir = params["res_dir"] + params = config.loadSection("spectrum_archive") + self.tapeClient = TapeClient(params["host"], + params.getint("port"), + params["user"], + params["pkey_file_path"], + self.logger) self.jobObj = None self.jobId = None self.username = None @@ -116,7 +117,7 @@ class StoreExecutor(TaskExecutor): self.dbConn.setEndTime(self.jobId) # Send e-mail notification - m = Mailer() + m = Mailer(self.logger) m.addRecipient(self.adminEmail) self.userEmail = self.dbConn.getUserEmail(self.userId) if self.userEmail != self.adminEmail: diff --git a/transfer_service/store_preprocessor.py b/transfer_service/store_preprocessor.py index d7228777bf6ffa26962011f77160a7eabadd1c02..922e1a43ec092d97efecddd35acf0bd58703cfde 100644 --- a/transfer_service/store_preprocessor.py +++ b/transfer_service/store_preprocessor.py @@ -226,7 +226,7 @@ class StorePreprocessor(TaskExecutor): self.dbConn.setPhase(self.jobId, "QUEUED") # Send e-mail notification - m = Mailer() + m = Mailer(self.logger) m.addRecipient(self.adminEmail) userEmail = self.dbConn.getUserEmail(self.jobObj.ownerId) diff --git a/transfer_service/tape_client.py b/transfer_service/tape_client.py index 70b79a07a2130a876e948b3ffb9559b9510ff559..9298f0748601629ef40c6a88214025c56f135562 100644 --- a/transfer_service/tape_client.py +++ b/transfer_service/tape_client.py @@ -17,20 +17,21 @@ class TapeClient(object): EEADM = "/opt/ibm/ltfsee/bin/eeadm" # Constructor - def __init__(self, host, port, user, keyFile): - config = Config("/etc/vos_ts/vos_ts.conf") - params = config.loadSection("logging") - self.logger = logging.getLogger(__name__) - logLevel = "logging." + params["log_level"] - logFormat = params["log_format"] - logFormatter = logging.Formatter(logFormat) - self.logger.setLevel(eval(logLevel)) - redisLogHandler = RedisLogHandler() - logStreamHandler = logging.StreamHandler() - logStreamHandler.setFormatter(logFormatter) - redisLogHandler.setFormatter(logFormatter) - self.logger.addHandler(redisLogHandler) - self.logger.addHandler(logStreamHandler) + def __init__(self, host, port, user, keyFile, logger): + #config = Config("/etc/vos_ts/vos_ts.conf") + #params = config.loadSection("logging") + #self.logger = logging.getLogger(__name__) + #logLevel = "logging." + params["log_level"] + #logFormat = params["log_format"] + #logFormatter = logging.Formatter(logFormat) + #self.logger.setLevel(eval(logLevel)) + #redisLogHandler = RedisLogHandler() + #logStreamHandler = logging.StreamHandler() + #logStreamHandler.setFormatter(logFormatter) + #redisLogHandler.setFormatter(logFormatter) + #self.logger.addHandler(redisLogHandler) + #self.logger.addHandler(logStreamHandler) + self.logger = logger self.host = host self.port = port self.user = user