From 79882345e9f5eed00b4d3fa1c0b2047d8e5292c4 Mon Sep 17 00:00:00 2001 From: Dmitriy Zayakin Date: Mon, 29 Jul 2024 16:43:19 +0300 Subject: [PATCH] [#278] Fix teardown network tests Signed-off-by: Dmitriy Zayakin --- .../test_frostfs_failover_network.py | 46 +++---------------- 1 file changed, 7 insertions(+), 39 deletions(-) diff --git a/pytest_tests/testsuites/failovers/test_frostfs_failover_network.py b/pytest_tests/testsuites/failovers/test_frostfs_failover_network.py index 5c141582..1c77f57b 100644 --- a/pytest_tests/testsuites/failovers/test_frostfs_failover_network.py +++ b/pytest_tests/testsuites/failovers/test_frostfs_failover_network.py @@ -1,5 +1,4 @@ import logging -import os import random from time import sleep @@ -9,13 +8,7 @@ from frostfs_testlib import reporter from frostfs_testlib.healthcheck.interfaces import Healthcheck from frostfs_testlib.resources.wellknown_acl import EACL_PUBLIC_READ_WRITE, PUBLIC_ACL from frostfs_testlib.steps.cli.container import create_container -from frostfs_testlib.steps.cli.object import ( - get_object, - get_object_nodes, - neo_go_query_height, - put_object, - put_object_to_random_node, -) +from frostfs_testlib.steps.cli.object import get_object, get_object_nodes, neo_go_query_height, put_object, put_object_to_random_node from frostfs_testlib.steps.storage_object import delete_objects from frostfs_testlib.storage.cluster import ClusterNode from frostfs_testlib.storage.controllers import ClusterStateController @@ -32,7 +25,6 @@ STORAGE_NODE_COMMUNICATION_PORT = "8080" STORAGE_NODE_COMMUNICATION_PORT_TLS = "8082" PORTS_TO_BLOCK = [STORAGE_NODE_COMMUNICATION_PORT, STORAGE_NODE_COMMUNICATION_PORT_TLS] blocked_nodes: list[ClusterNode] = [] -file_wait_delete = [] OBJECT_ATTRIBUTES = [ None, @@ -63,14 +55,6 @@ class TestFailoverNetwork(ClusterTestBase): yield cluster_state_controller.restore_interfaces() - @pytest.fixture() - @allure.title("Delete file after test") - def delete_file_after_test(self) -> None: - yield - for path in file_wait_delete: - os.remove(path) - file_wait_delete.clear() - @pytest.fixture() def storage_objects( self, @@ -113,9 +97,7 @@ class TestFailoverNetwork(ClusterTestBase): storage_objects.append(storage_object) - yield storage_objects - - delete_objects(storage_objects, self.shell, self.cluster) + return storage_objects @allure.title("Block Storage node traffic") def test_block_storage_node_traffic( @@ -174,9 +156,7 @@ class TestFailoverNetwork(ClusterTestBase): assert node.storage_node not in new_nodes with reporter.step("Check object data is not corrupted"): - got_file_path = get_object( - wallet, cid, oid, endpoint=new_nodes[0].get_rpc_endpoint(), shell=self.shell - ) + got_file_path = get_object(wallet, cid, oid, endpoint=new_nodes[0].get_rpc_endpoint(), shell=self.shell) assert get_file_hash(source_file_path) == get_file_hash(got_file_path) with reporter.step(f"Unblock incoming traffic"): @@ -184,9 +164,7 @@ class TestFailoverNetwork(ClusterTestBase): with reporter.step(f"Unblock at host {node}"): cluster_state_controller.restore_traffic(node=node) block_node = [ - cluster_node - for cluster_node in self.cluster.cluster_nodes - if cluster_node.storage_node == node.storage_node + cluster_node for cluster_node in self.cluster.cluster_nodes if cluster_node.storage_node == node.storage_node ] blocked_nodes.remove(*block_node) sleep(wakeup_node_timeout) @@ -204,7 +182,6 @@ class TestFailoverNetwork(ClusterTestBase): cluster_state_controller: ClusterStateController, default_wallet: WalletInfo, restore_down_interfaces: None, - delete_file_after_test: None, storage_objects: list[StorageObjectInfo], ): storage_object = storage_objects[0] @@ -248,7 +225,6 @@ class TestFailoverNetwork(ClusterTestBase): shell=self.shell, endpoint=nodes_without_an_object[0].storage_node.get_rpc_endpoint(), ) - file_wait_delete.append(input_file) with reporter.step("Restore interface and tick 1 epoch, wait 2 block"): cluster_state_controller.restore_interfaces() @@ -261,7 +237,6 @@ class TestFailoverNetwork(ClusterTestBase): cluster_state_controller: ClusterStateController, default_wallet: WalletInfo, restore_down_interfaces: None, - delete_file_after_test: None, storage_objects: list[StorageObjectInfo], simple_object_size: ObjectSize, ): @@ -289,7 +264,7 @@ class TestFailoverNetwork(ClusterTestBase): self.tick_epochs(1, alive_node=nodes_without_an_object[0].storage_node, wait_block=2) with reporter.step("Get object others node, expect false"): - with pytest.raises(RuntimeError, match="return code: 1"): + with pytest.raises(RuntimeError, match="rpc error"): get_object( wallet=default_wallet, cid=storage_object.cid, @@ -299,7 +274,7 @@ class TestFailoverNetwork(ClusterTestBase): ) with reporter.step("Put object, others node, expect false"): - with pytest.raises(RuntimeError, match="return code: 1"): + with pytest.raises(RuntimeError, match="rpc error"): put_object( wallet=default_wallet, path=storage_object.file_path, @@ -316,7 +291,6 @@ class TestFailoverNetwork(ClusterTestBase): shell=self.shell, endpoint=nodes_with_object[0].storage_node.get_rpc_endpoint(), ) - file_wait_delete.append(input_file) with reporter.step(f"Put object nodes with object, expect true"): temp_file_path = generate_file(simple_object_size.value) @@ -327,7 +301,7 @@ class TestFailoverNetwork(ClusterTestBase): shell=self.shell, endpoint=nodes_with_object[0].storage_node.get_rpc_endpoint(), ) - file_wait_delete.append(temp_file_path) + with reporter.step("Restore interface and tick 1 epoch, wait 2 block"): cluster_state_controller.restore_interfaces() self.tick_epochs(1, alive_node=nodes_without_an_object[0].storage_node, wait_block=2) @@ -345,7 +319,6 @@ class TestFailoverNetwork(ClusterTestBase): cluster_state_controller: ClusterStateController, default_wallet: WalletInfo, simple_object_size: ObjectSize, - delete_file_after_test: None, restore_down_interfaces: None, block_interface: Interfaces, other_interface: Interfaces, @@ -367,7 +340,6 @@ class TestFailoverNetwork(ClusterTestBase): with reporter.step("Put object"): file_path = generate_file(simple_object_size.value) - file_wait_delete.append(file_path) oid = put_object( wallet=default_wallet, @@ -385,7 +357,6 @@ class TestFailoverNetwork(ClusterTestBase): shell=self.shell, endpoint=f"{cluster_nodes[0].get_data_interface(other_interface.value)[0]}:8080", ) - file_wait_delete.append(file_get_path) with reporter.step("Restore interfaces all nodes"): cluster_state_controller.restore_interfaces() @@ -401,7 +372,6 @@ class TestFailoverNetwork(ClusterTestBase): cluster_state_controller: ClusterStateController, default_wallet: WalletInfo, simple_object_size: ObjectSize, - delete_file_after_test: None, restore_down_interfaces: None, interface: Interfaces, ): @@ -430,7 +400,6 @@ class TestFailoverNetwork(ClusterTestBase): with reporter.step(f"Put object, after down {interface}"): file_path = generate_file(simple_object_size.value) - file_wait_delete.append(file_path) oid = put_object( wallet=default_wallet, @@ -448,7 +417,6 @@ class TestFailoverNetwork(ClusterTestBase): shell=self.shell, endpoint=self.cluster.default_rpc_endpoint, ) - file_wait_delete.append(file_get_path) now_block = {}