forked from TrueCloudLab/frostfs-testcases
[#270] Move alluredir check to start of fixture
Signed-off-by: Kirill Sosnovskikh <k.sosnovskikh@yadro.com>
This commit is contained in:
parent
c969d9e482
commit
6e4c3c33a5
1 changed files with 11 additions and 29 deletions
|
@ -15,12 +15,7 @@ from frostfs_testlib.credentials.interfaces import CredentialsProvider, User
|
||||||
from frostfs_testlib.healthcheck.interfaces import Healthcheck
|
from frostfs_testlib.healthcheck.interfaces import Healthcheck
|
||||||
from frostfs_testlib.hosting import Hosting
|
from frostfs_testlib.hosting import Hosting
|
||||||
from frostfs_testlib.reporter import AllureHandler, StepsLogger
|
from frostfs_testlib.reporter import AllureHandler, StepsLogger
|
||||||
from frostfs_testlib.resources.common import (
|
from frostfs_testlib.resources.common import ASSETS_DIR, COMPLEX_OBJECT_CHUNKS_COUNT, COMPLEX_OBJECT_TAIL_SIZE, SIMPLE_OBJECT_SIZE
|
||||||
ASSETS_DIR,
|
|
||||||
COMPLEX_OBJECT_CHUNKS_COUNT,
|
|
||||||
COMPLEX_OBJECT_TAIL_SIZE,
|
|
||||||
SIMPLE_OBJECT_SIZE,
|
|
||||||
)
|
|
||||||
from frostfs_testlib.s3 import AwsCliClient, Boto3ClientWrapper, S3ClientWrapper, VersioningStatus
|
from frostfs_testlib.s3 import AwsCliClient, Boto3ClientWrapper, S3ClientWrapper, VersioningStatus
|
||||||
from frostfs_testlib.shell import LocalShell, Shell
|
from frostfs_testlib.shell import LocalShell, Shell
|
||||||
from frostfs_testlib.steps.cli.container import DEFAULT_EC_PLACEMENT_RULE, DEFAULT_PLACEMENT_RULE
|
from frostfs_testlib.steps.cli.container import DEFAULT_EC_PLACEMENT_RULE, DEFAULT_PLACEMENT_RULE
|
||||||
|
@ -210,9 +205,7 @@ def complex_object_size(max_object_size: int) -> ObjectSize:
|
||||||
scope="session",
|
scope="session",
|
||||||
params=[pytest.param("simple", marks=pytest.mark.simple), pytest.param("complex", marks=pytest.mark.complex)],
|
params=[pytest.param("simple", marks=pytest.mark.simple), pytest.param("complex", marks=pytest.mark.complex)],
|
||||||
)
|
)
|
||||||
def object_size(
|
def object_size(simple_object_size: ObjectSize, complex_object_size: ObjectSize, request: pytest.FixtureRequest) -> ObjectSize:
|
||||||
simple_object_size: ObjectSize, complex_object_size: ObjectSize, request: pytest.FixtureRequest
|
|
||||||
) -> ObjectSize:
|
|
||||||
if request.param == "simple":
|
if request.param == "simple":
|
||||||
return simple_object_size
|
return simple_object_size
|
||||||
|
|
||||||
|
@ -269,17 +262,13 @@ def s3_policy(request: pytest.FixtureRequest):
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
@allure.title("[Session] Create healthcheck object")
|
@allure.title("[Session] Create healthcheck object")
|
||||||
def healthcheck(cluster: Cluster) -> Healthcheck:
|
def healthcheck(cluster: Cluster) -> Healthcheck:
|
||||||
healthcheck_cls = plugins.load_plugin(
|
healthcheck_cls = plugins.load_plugin("frostfs.testlib.healthcheck", cluster.cluster_nodes[0].host.config.healthcheck_plugin_name)
|
||||||
"frostfs.testlib.healthcheck", cluster.cluster_nodes[0].host.config.healthcheck_plugin_name
|
|
||||||
)
|
|
||||||
|
|
||||||
return healthcheck_cls()
|
return healthcheck_cls()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def cluster_state_controller_session(
|
def cluster_state_controller_session(client_shell: Shell, cluster: Cluster, healthcheck: Healthcheck) -> ClusterStateController:
|
||||||
client_shell: Shell, cluster: Cluster, healthcheck: Healthcheck
|
|
||||||
) -> ClusterStateController:
|
|
||||||
controller = ClusterStateController(client_shell, cluster, healthcheck)
|
controller = ClusterStateController(client_shell, cluster, healthcheck)
|
||||||
return controller
|
return controller
|
||||||
|
|
||||||
|
@ -315,9 +304,7 @@ def s3_client(
|
||||||
credentials_provider.S3.provide(default_user, node, s3_policy)
|
credentials_provider.S3.provide(default_user, node, s3_policy)
|
||||||
|
|
||||||
s3_client_cls = request.param
|
s3_client_cls = request.param
|
||||||
client = s3_client_cls(
|
client = s3_client_cls(default_user.s3_credentials.access_key, default_user.s3_credentials.secret_key, cluster.default_s3_gate_endpoint)
|
||||||
default_user.s3_credentials.access_key, default_user.s3_credentials.secret_key, cluster.default_s3_gate_endpoint
|
|
||||||
)
|
|
||||||
return client
|
return client
|
||||||
|
|
||||||
|
|
||||||
|
@ -388,6 +375,10 @@ def two_buckets(buckets_pool: list[str], s3_client: S3ClientWrapper) -> list[str
|
||||||
@allure.title("[Autouse/Session] Collect binary versions")
|
@allure.title("[Autouse/Session] Collect binary versions")
|
||||||
@pytest.fixture(scope="session", autouse=True)
|
@pytest.fixture(scope="session", autouse=True)
|
||||||
def collect_binary_versions(hosting: Hosting, client_shell: Shell, request: pytest.FixtureRequest):
|
def collect_binary_versions(hosting: Hosting, client_shell: Shell, request: pytest.FixtureRequest):
|
||||||
|
environment_dir = request.config.getoption("--alluredir")
|
||||||
|
if not environment_dir:
|
||||||
|
return None
|
||||||
|
|
||||||
local_versions = version_utils.get_local_binaries_versions(client_shell)
|
local_versions = version_utils.get_local_binaries_versions(client_shell)
|
||||||
remote_versions = version_utils.get_remote_binaries_versions(hosting)
|
remote_versions = version_utils.get_remote_binaries_versions(hosting)
|
||||||
remote_versions_keys = list(remote_versions.keys())
|
remote_versions_keys = list(remote_versions.keys())
|
||||||
|
@ -401,10 +392,6 @@ def collect_binary_versions(hosting: Hosting, client_shell: Shell, request: pyte
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
environment_dir = request.config.getoption("--alluredir")
|
|
||||||
if not environment_dir:
|
|
||||||
return None
|
|
||||||
|
|
||||||
file_path = f"{environment_dir}/environment.properties"
|
file_path = f"{environment_dir}/environment.properties"
|
||||||
env_utils.save_env_properties(file_path, all_versions)
|
env_utils.save_env_properties(file_path, all_versions)
|
||||||
|
|
||||||
|
@ -439,10 +426,7 @@ def after_deploy_healthcheck(cluster: Cluster):
|
||||||
|
|
||||||
@wait_for_success(60 * SERVICE_ACTIVE_TIME * 3, 60, title="Wait for {cluster_node} readiness")
|
@wait_for_success(60 * SERVICE_ACTIVE_TIME * 3, 60, title="Wait for {cluster_node} readiness")
|
||||||
def readiness_on_node(cluster_node: ClusterNode):
|
def readiness_on_node(cluster_node: ClusterNode):
|
||||||
if (
|
if "skip_readiness_check" in cluster_node.host.config.attributes and cluster_node.host.config.attributes["skip_readiness_check"]:
|
||||||
"skip_readiness_check" in cluster_node.host.config.attributes
|
|
||||||
and cluster_node.host.config.attributes["skip_readiness_check"]
|
|
||||||
):
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# TODO: Move to healtcheck classes
|
# TODO: Move to healtcheck classes
|
||||||
|
@ -452,9 +436,7 @@ def readiness_on_node(cluster_node: ClusterNode):
|
||||||
assert "active" == result.stdout.strip(), f"Service {svc_name} should be in active state"
|
assert "active" == result.stdout.strip(), f"Service {svc_name} should be in active state"
|
||||||
|
|
||||||
with reporter.step(f"Check service {svc_name} is active more than {SERVICE_ACTIVE_TIME} minutes"):
|
with reporter.step(f"Check service {svc_name} is active more than {SERVICE_ACTIVE_TIME} minutes"):
|
||||||
result = cluster_node.host.get_shell().exec(
|
result = cluster_node.host.get_shell().exec(f"systemctl show {svc_name} --property ActiveEnterTimestamp | cut -d '=' -f 2")
|
||||||
f"systemctl show {svc_name} --property ActiveEnterTimestamp | cut -d '=' -f 2"
|
|
||||||
)
|
|
||||||
start_time = parser.parse(result.stdout.strip())
|
start_time = parser.parse(result.stdout.strip())
|
||||||
current_time = datetime.now(tz=timezone.utc)
|
current_time = datetime.now(tz=timezone.utc)
|
||||||
active_time = current_time - start_time
|
active_time = current_time - start_time
|
||||||
|
|
Loading…
Reference in a new issue