diff --git a/transfer_service/store_executor.py b/transfer_service/store_executor.py index 1767e24ebc557c6345b089a3cf2c0a3d9cf1f322..59aee4f1cf4f029b0689aae42ece40de8da04169 100644 --- a/transfer_service/store_executor.py +++ b/transfer_service/store_executor.py @@ -104,18 +104,15 @@ class StoreExecutor(TaskExecutor): storageFreeSpace = free - self.TOL self.logger.debug(f"storageFreeSpace (hot): {storageFreeSpace} B") else: - self.tapeClient.connect() - tapePoolList = self.tapeClient.getPoolList() - self.tapeClient.disconnect() try: - self.tapePool = self.dbConn.getTapePool(self.storageId) + self.tapeHSMFilesystem = self.dbConn.getTapeHSMFilesystem(self.storageId) except Exception: - self.logger.exception("FATAL: unable to obtain the tape pool.") + self.logger.exception("FATAL: unable to obtain the tape HSM filesystem.") return False else: - for el in tapePoolList: - if el.getName() == self.tapePool: - storageFreeSpace = el.getFreeSpace() - self.TOL + self.tapeClient.connect() + storageFreeSpace = self.tapeClient.getHSMFilesystemFreeSpace(self.tapeHSMFilesystem) - self.TOL + self.tapeClient.disconnect() self.logger.debug(f"storageFreeSpace (cold): {storageFreeSpace} B") if storageFreeSpace < self.dataSize: self.logger.error("FATAL: space available on the storage point is not enough.") diff --git a/transfer_service/tape_client.py b/transfer_service/tape_client.py index d4e3c232f58ad3570821ac2d483be2fbe453f73b..20c9dbbc2cc624228f950bb0c6deef25f9c9c358 100644 --- a/transfer_service/tape_client.py +++ b/transfer_service/tape_client.py @@ -93,7 +93,7 @@ class TapeClient(object): else: raise TapeClientException(cmd, exitCode, stderr) - def getHSMFileSystemFreeSpace(self, HSMFilesystem): + def getHSMFilesystemFreeSpace(self, HSMFilesystem): "Returns the free space in bytes for a given HSM filesystem." cmd = f"{self.DSMDF} -detail {HSMFilesystem} | grep "Free Size" | awk '{ print $3 }'" try: