stop service by type (for wipe data)

Signed-off-by: m.malygina <m.malygina@yadro.com>
stop-service-by-type
m.malygina 2023-08-25 17:48:08 +03:00
parent 7059596506
commit 78bf01c4ef
1 changed files with 35 additions and 1 deletions

View File

@ -53,7 +53,7 @@ class ClusterStateController:
for node in nodes:
wait_for_host_offline(self.shell, node.storage_node)
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Stop all storage services on cluster")
def stop_all_storage_services(self, reversed_order: bool = False):
@ -170,6 +170,19 @@ class ClusterStateController:
parallel(self.start_s3_gate, copy.copy(self.stopped_s3_gates))
self.stopped_s3_gates = []
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Stop all {service_type} services on cluster")
def stop_all_services_of_type(self, node: ClusterNode, service_type: NodeBase, reversed_order: bool = False):
process_name = node.service(service_type)
self.suspend_service_all_services(process_name, node)
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Start all {service_type} services on cluster")
def start_all_services_of_type(self, node: ClusterNode, service_type: NodeBase, reversed_order: bool = False):
process_name = node.service(service_type)
self.resume_suspended_services(process_name)
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Suspend {process_name} service in {node}")
def suspend_service(self, process_name: str, node: ClusterNode):
@ -179,6 +192,17 @@ class ClusterStateController:
else:
self.suspended_services[process_name] = [node]
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Suspend {process_name} service on all nodes")
def suspend_service_all_services(self, process_name: str, node: ClusterNode):
nodes = (
reversed(self.cluster.cluster_nodes) if reversed_order else self.cluster.cluster_nodes
)
for node in nodes:
self.suspend_service(self, process_name, node)
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Resume {process_name} service in {node}")
def resume_service(self, process_name: str, node: ClusterNode):
@ -188,6 +212,16 @@ class ClusterStateController:
else:
self.suspended_services[process_name] = [node]
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Start suspended processes services with proccess name")
def resume_suspended_services(self, process_name: str, node: ClusterNode):
nodes = (
reversed(self.cluster.cluster_nodes) if reversed_order else self.cluster.cluster_nodes
)
for node in nodes:
self.suspend_service(self, process_name, node)
@run_optionally(optionals.OPTIONAL_FAILOVER_ENABLED)
@reporter.step_deco("Start suspend processes services")
def resume_suspended_services(self):