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