From fef6a65aaf6ea28ffaa4a1a7f96728a3c52aa077 Mon Sep 17 00:00:00 2001 From: Cristiano Urban <cristiano.urban@inaf.it> Date: Fri, 6 Dec 2024 21:11:56 +0100 Subject: [PATCH] Added VOSpace 'jobId' parameter to 'recallChecksumFiles()' method. Signed-off-by: Cristiano Urban <cristiano.urban@inaf.it> --- transfer_service/import_executor.py | 2 +- transfer_service/tape_client.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/transfer_service/import_executor.py b/transfer_service/import_executor.py index ed9c430..c95a1b2 100644 --- a/transfer_service/import_executor.py +++ b/transfer_service/import_executor.py @@ -83,7 +83,7 @@ class ImportExecutor(TaskExecutor): if self.storageType == "cold": self.tapeClient.connect() - self.tapeClient.recallChecksumFiles(self.path) + self.tapeClient.recallChecksumFiles(self.path, self.jobId) self.tapeClient.disconnect() self.logger.info(f"Checking for invalid file/dir names in '{self.path}'") diff --git a/transfer_service/tape_client.py b/transfer_service/tape_client.py index 65c91c2..aeebfab 100644 --- a/transfer_service/tape_client.py +++ b/transfer_service/tape_client.py @@ -176,13 +176,14 @@ class TapeClient(object): raise TapeClientException(cmd, exitCode, stderr) return exitCode - def recallChecksumFiles(self, dirName): + def recallChecksumFiles(self, dirName, jobId): """ Recursively recalls from tape all the checksum files related to the 'dirName' directory. + A VOSpace job ID is also required as parameter. """ self.logger.info("Starting RECALL_CHECKSUM operation...") - checksumFileList = "vos_recall_checksum_files-{jobId}.lst" + checksumFileList = f"vos_recall_checksum_files-{jobId}.lst" cmd = f"find $(dirname {dirName}) -type f \( -iname \"*-md5sum.txt\" \) > {self.VOSPACE_WD}/{checksumFileList} && {self.DSMRECALL} -filelist={self.VOSPACE_WD}/{checksumFileList} > /dev/null 2>&1" try: stdin, stdout, stderr = self.client.exec_command(cmd) -- GitLab