Add cache_only param to delete_storage_node_data method

Signed-off-by: a.lipay <a.lipay@yadro.com>
This commit is contained in:
a.lipay 2022-11-23 19:21:38 +03:00 committed by Alipayy
parent f3bd1e2162
commit 977921cf49
2 changed files with 5 additions and 3 deletions

View file

@ -116,7 +116,7 @@ class DockerHost(Host):
timeout=service_attributes.stop_timeout, timeout=service_attributes.stop_timeout,
) )
def delete_storage_node_data(self, service_name: str) -> None: def delete_storage_node_data(self, service_name: str, cache_only: bool = False) -> None:
service_attributes = self._get_service_attributes(service_name) service_attributes = self._get_service_attributes(service_name)
client = self._get_docker_client() client = self._get_docker_client()
@ -124,7 +124,8 @@ class DockerHost(Host):
volume_path = volume_info["Mountpoint"] volume_path = volume_info["Mountpoint"]
shell = self.get_shell() shell = self.get_shell()
shell.exec(f"rm -rf {volume_path}/*") cmd = f"rm -rf {volume_path}/meta*" if cache_only else f"rm -rf {volume_path}/*"
shell.exec(cmd)
def dump_logs( def dump_logs(
self, self,

View file

@ -101,11 +101,12 @@ class Host(ABC):
""" """
@abstractmethod @abstractmethod
def delete_storage_node_data(self, service_name: str) -> None: def delete_storage_node_data(self, service_name: str, cache_only: bool = False) -> None:
"""Erases all data of the storage node with specified name. """Erases all data of the storage node with specified name.
Args: Args:
service_name: Name of storage node service. service_name: Name of storage node service.
cache_only: To delete cache only.
""" """
@abstractmethod @abstractmethod