diff --git a/pytest_tests/testsuites/failovers/test_failover_network.py b/pytest_tests/testsuites/failovers/test_failover_network.py index 784663f..4f8abcf 100644 --- a/pytest_tests/testsuites/failovers/test_failover_network.py +++ b/pytest_tests/testsuites/failovers/test_failover_network.py @@ -6,7 +6,7 @@ import allure import pytest from common import (STORAGE_NODE_SSH_PRIVATE_KEY_PATH, STORAGE_NODE_SSH_USER, - STORAGE_NODE_SSH_PASSWORD, NEOFS_NETMAP_DICT) + STORAGE_NODE_SSH_PASSWORD) from failover_utils import wait_all_storage_node_returned, wait_object_replication_on_nodes from iptables_helper import IpTablesHelper from python_keywords.container import create_container @@ -22,25 +22,6 @@ PORTS_TO_BLOCK = [STORAGE_NODE_COMMUNICATION_PORT, STORAGE_NODE_COMMUNICATION_PO blocked_hosts = [] -@pytest.fixture(autouse=True) -@allure.step('Install iptables if needed') -def install_iptables_if_needed(): - check_command = 'sudo iptables --version' - install_command = 'sudo apt-get --yes install iptables' - for node_config in NEOFS_NETMAP_DICT.values(): - host = node_config.get('rpc').split(':')[0] - client = HostClient(ip=host, login=STORAGE_NODE_SSH_USER, - password=STORAGE_NODE_SSH_PASSWORD, - private_key_path=STORAGE_NODE_SSH_PRIVATE_KEY_PATH) - with client.create_ssh_connection(): - try: - client.exec(check_command) - except AssertionError as err: - logger.info(f'Command {check_command} fails with error {err}') - client.exec(install_command) - client.exec(check_command) - - @pytest.fixture(autouse=True) @allure.step('Restore network') def restore_network(): diff --git a/robot/resources/lib/python_keywords/cli_helpers.py b/robot/resources/lib/python_keywords/cli_helpers.py index f44d9af..919e251 100644 --- a/robot/resources/lib/python_keywords/cli_helpers.py +++ b/robot/resources/lib/python_keywords/cli_helpers.py @@ -100,26 +100,24 @@ def _configure_aws_cli(cmd: str, key_id: str, access_key: str, out_format: str = def _attach_allure_log(cmd: str, output: str, return_code: int, start_time: datetime, end_time: datetime) -> None: - if 'robot' not in sys.modules: - command_attachment = ( - f"COMMAND: '{cmd}'\n" - f'OUTPUT:\n {output}\n' - f'RC: {return_code}\n' - f'Start / End / Elapsed\t {start_time.time()} / {end_time.time()} / {end_time - start_time}' - ) - with allure.step(f'COMMAND: {shorten(cmd, width=60, placeholder="...")}'): - allure.attach(command_attachment, 'Command execution', allure.attachment_type.TEXT) + command_attachment = ( + f"COMMAND: '{cmd}'\n" + f'OUTPUT:\n {output}\n' + f'RC: {return_code}\n' + f'Start / End / Elapsed\t {start_time.time()} / {end_time.time()} / {end_time - start_time}' + ) + with allure.step(f'COMMAND: {shorten(cmd, width=60, placeholder="...")}'): + allure.attach(command_attachment, 'Command execution', allure.attachment_type.TEXT) def log_command_execution(cmd: str, output: Union[str, dict]) -> None: logger.info(f'{cmd}: {output}') - if 'robot' not in sys.modules: - with suppress(Exception): - json_output = json.dumps(output, indent=4, sort_keys=True) - output = json_output - command_attachment = ( - f"COMMAND: '{cmd}'\n" - f'OUTPUT:\n {output}\n' - ) - with allure.step(f'COMMAND: {shorten(cmd, width=60, placeholder="...")}'): - allure.attach(command_attachment, 'Command execution', allure.attachment_type.TEXT) + with suppress(Exception): + json_output = json.dumps(output, indent=4, sort_keys=True) + output = json_output + command_attachment = ( + f"COMMAND: '{cmd}'\n" + f'OUTPUT:\n {output}\n' + ) + with allure.step(f'COMMAND: {shorten(cmd, width=60, placeholder="...")}'): + allure.attach(command_attachment, 'Command execution', allure.attachment_type.TEXT) diff --git a/robot/resources/lib/python_keywords/epoch.py b/robot/resources/lib/python_keywords/epoch.py index 26f3522..3c948d0 100644 --- a/robot/resources/lib/python_keywords/epoch.py +++ b/robot/resources/lib/python_keywords/epoch.py @@ -1,6 +1,4 @@ #!/usr/bin/python3.9 -import sys - import allure from robot.api import logger from robot.api.deco import keyword @@ -40,12 +38,11 @@ def tick_epoch(): err = str(exc) raise RuntimeError("Failed to tick epoch") from exc finally: - if 'allure' in sys.modules: - allure.attach(( - f'COMMAND: {cmd}\n' - f'OUTPUT:\n {out}\n' - f'ERROR: {err}\n' - ), 'Tick Epoch', allure.attachment_type.TEXT) + allure.attach(( + f'COMMAND: {cmd}\n' + f'OUTPUT:\n {out}\n' + f'ERROR: {err}\n' + ), 'Tick Epoch', allure.attachment_type.TEXT) return # Otherwise we tick epoch using transaction diff --git a/robot/resources/lib/python_keywords/http_gate.py b/robot/resources/lib/python_keywords/http_gate.py index ded0470..2f70ff1 100644 --- a/robot/resources/lib/python_keywords/http_gate.py +++ b/robot/resources/lib/python_keywords/http_gate.py @@ -173,10 +173,9 @@ def get_via_http_curl(cid: str, oid: str) -> str: def _attach_allure_step(request: str, status_code: int, req_type='GET'): - if 'allure' in sys.modules: - command_attachment = ( - f"REQUEST: '{request}'\n" - f'RESPONSE:\n {status_code}\n' - ) - with allure.step(f'{req_type} Request'): - allure.attach(command_attachment, f'{req_type} Request', allure.attachment_type.TEXT) + command_attachment = ( + f"REQUEST: '{request}'\n" + f'RESPONSE:\n {status_code}\n' + ) + with allure.step(f'{req_type} Request'): + allure.attach(command_attachment, f'{req_type} Request', allure.attachment_type.TEXT)