Temporarily disable file delete action
This commit is contained in:
@@ -296,6 +296,16 @@ class NodeFileDeleteAction(NodeFileAbstractAction):
|
|||||||
super().__init__(manager, num_nodes=num_nodes, num_folders=num_folders, num_files=num_files, **kwargs)
|
super().__init__(manager, num_nodes=num_nodes, num_folders=num_folders, num_files=num_files, **kwargs)
|
||||||
self.verb: str = "delete"
|
self.verb: str = "delete"
|
||||||
|
|
||||||
|
def form_request(self, node_id: int, folder_id: int, file_id: int) -> List[str]:
|
||||||
|
"""Return the action formatted as a request which can be ingested by the PrimAITE simulation."""
|
||||||
|
node_uuid = self.manager.get_node_uuid_by_idx(node_id)
|
||||||
|
folder_uuid = self.manager.get_folder_uuid_by_idx(node_idx=node_id, folder_idx=folder_id)
|
||||||
|
file_uuid = self.manager.get_file_uuid_by_idx(node_idx=node_id, folder_idx=folder_id, file_idx=file_id)
|
||||||
|
if node_uuid is None or folder_uuid is None or file_uuid is None:
|
||||||
|
return ["do_nothing"]
|
||||||
|
return ["do_nothing"]
|
||||||
|
# return ["network", "node", node_uuid, "file_system", "delete", "file", folder_uuid, file_uuid]
|
||||||
|
|
||||||
|
|
||||||
class NodeFileRepairAction(NodeFileAbstractAction):
|
class NodeFileRepairAction(NodeFileAbstractAction):
|
||||||
"""Action which repairs a file."""
|
"""Action which repairs a file."""
|
||||||
|
|||||||
@@ -110,6 +110,13 @@ class DatabaseFileIntegrity(AbstractReward):
|
|||||||
:type state: Dict
|
:type state: Dict
|
||||||
"""
|
"""
|
||||||
database_file_state = access_from_nested_dict(state, self.location_in_state)
|
database_file_state = access_from_nested_dict(state, self.location_in_state)
|
||||||
|
if database_file_state is NOT_PRESENT_IN_STATE:
|
||||||
|
_LOGGER.info(
|
||||||
|
f"Could not calculate {self.__class__} reward because "
|
||||||
|
"simulation state did not contain enough information."
|
||||||
|
)
|
||||||
|
return 0.0
|
||||||
|
|
||||||
health_status = database_file_state["health_status"]
|
health_status = database_file_state["health_status"]
|
||||||
if health_status == 2:
|
if health_status == 2:
|
||||||
return -1
|
return -1
|
||||||
|
|||||||
@@ -276,7 +276,7 @@ class Folder(FileSystemItemABC):
|
|||||||
self.deleted_files[file.uuid] = file
|
self.deleted_files[file.uuid] = file
|
||||||
file.delete()
|
file.delete()
|
||||||
self.sys_log.info(f"Removed file {file.name} (id: {file.uuid})")
|
self.sys_log.info(f"Removed file {file.name} (id: {file.uuid})")
|
||||||
self._file_request_manager.remove_request(file.uuid)
|
# self._file_request_manager.remove_request(file.uuid)
|
||||||
else:
|
else:
|
||||||
_LOGGER.debug(f"File with UUID {file.uuid} was not found.")
|
_LOGGER.debug(f"File with UUID {file.uuid} was not found.")
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,10 @@ class DatabaseService(Service):
|
|||||||
ftp_client_service: FTPClient = software_manager.software.get("FTPClient")
|
ftp_client_service: FTPClient = software_manager.software.get("FTPClient")
|
||||||
|
|
||||||
# send backup copy of database file to FTP server
|
# send backup copy of database file to FTP server
|
||||||
|
if not self.db_file:
|
||||||
|
self.sys_log.error("Attempted to backup database file but it doesn't exist.")
|
||||||
|
return False
|
||||||
|
|
||||||
response = ftp_client_service.send_file(
|
response = ftp_client_service.send_file(
|
||||||
dest_ip_address=self.backup_server_ip,
|
dest_ip_address=self.backup_server_ip,
|
||||||
src_file_name=self.db_file.name,
|
src_file_name=self.db_file.name,
|
||||||
|
|||||||
Reference in New Issue
Block a user