Add interfaces for deleting fstree, blobovnocza and pilorama.db #16
3 changed files with 48 additions and 0 deletions
|
@ -129,6 +129,15 @@ class DockerHost(Host):
|
|||
timeout=service_attributes.start_timeout,
|
||||
)
|
||||
|
||||
def delete_fstree(self, service_name: str) -> None:
|
||||
raise NotImplementedError("Not implemented for docker")
|
||||
|
||||
def delete_blobovnicza(self, service_name: str) -> None:
|
||||
raise NotImplementedError("Not implemented for docker")
|
||||
|
||||
def delete_pilorama(self, service_name: str) -> None:
|
||||
raise NotImplementedError("Not implemented for docker")
|
||||
|
||||
def delete_storage_node_data(self, service_name: str, cache_only: bool = False) -> None:
|
||||
service_attributes = self._get_service_attributes(service_name)
|
||||
|
||||
|
|
|
@ -121,6 +121,36 @@ class Host(ABC):
|
|||
cache_only: To delete cache only.
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def delete_fstree(self, service_name: str) -> None:
|
||||
"""
|
||||
Deletes all fstrees in the node.
|
||||
|
||||
Args:
|
||||
service_name: Name of storage node service.
|
||||
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def delete_blobovnicza(self, service_name: str) -> None:
|
||||
"""
|
||||
Deletes all blobovniczas in the node.
|
||||
|
||||
Args:
|
||||
service_name: Name of storage node service.
|
||||
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def delete_pilorama(self, service_name: str) -> None:
|
||||
"""
|
||||
Deletes all pilorama.db files in the node.
|
||||
|
||||
Args:
|
||||
service_name: Name of storage node service.
|
||||
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def detach_disk(self, device: str) -> DiskInfo:
|
||||
"""Detaches disk device to simulate disk offline/failover scenario.
|
||||
|
|
|
@ -168,6 +168,15 @@ class StorageNode(NodeBase):
|
|||
def get_un_locode(self):
|
||||
return self._get_attribute(ConfigAttributes.UN_LOCODE)
|
||||
|
||||
def delete_blobovnicza(self):
|
||||
self.host.delete_blobovnicza(self.name)
|
||||
|
||||
def delete_fstree(self):
|
||||
self.host.delete_fstree(self.name)
|
||||
|
||||
def delete_pilorama(self):
|
||||
self.host.delete_pilorama(self.name)
|
||||
|
||||
@property
|
||||
def label(self) -> str:
|
||||
return f"{self.name}: {self.get_rpc_endpoint()}"
|
||||
|
|
Loading…
Reference in a new issue