diff --git a/tests/observability/metrics/conftest.py b/tests/observability/metrics/conftest.py index 1573024fe4..b2edc0c9be 100644 --- a/tests/observability/metrics/conftest.py +++ b/tests/observability/metrics/conftest.py @@ -495,6 +495,18 @@ def vm_migration_metrics_vmim_scope_class(admin_client, vm_for_migration_metrics yield vmim +@pytest.fixture() +def vm_migration_metrics_vmim_scope_function(admin_client, vm_for_migration_metrics_test): + with VirtualMachineInstanceMigration( + name="vm-migration-metrics-vmim", + namespace=vm_for_migration_metrics_test.namespace, + vmi_name=vm_for_migration_metrics_test.vmi.name, + client=admin_client, + ) as vmim: + vmim.wait_for_status(status=vmim.Status.RUNNING, timeout=TIMEOUT_3MIN) + yield vmim + + @pytest.fixture(scope="class") def migration_succeeded_scope_class(vm_migration_metrics_vmim_scope_class): vm_migration_metrics_vmim_scope_class.wait_for_status( diff --git a/tests/observability/metrics/test_migration_metrics.py b/tests/observability/metrics/test_migration_metrics.py index 50a460da4c..93f38ad63b 100644 --- a/tests/observability/metrics/test_migration_metrics.py +++ b/tests/observability/metrics/test_migration_metrics.py @@ -1,5 +1,4 @@ import logging -from datetime import datetime, timezone import pytest @@ -42,7 +41,6 @@ class TestKubevirtVmiMigrationMetrics: ), ], ) - @pytest.mark.jira("CNV-76682", run=False) @pytest.mark.s390x def test_kubevirt_vmi_migration_metrics( self, @@ -51,19 +49,11 @@ def test_kubevirt_vmi_migration_metrics( admin_client, migration_policy_with_bandwidth_scope_class, vm_for_migration_metrics_test, - vm_migration_metrics_vmim_scope_class, + vm_migration_metrics_vmim_scope_function, query, ): - minutes_passed_since_migration_start = ( - int(datetime.now(timezone.utc).timestamp()) - - timestamp_to_seconds( - timestamp=vm_for_migration_metrics_test.vmi.instance.status.migrationState.startTimestamp - ) - ) // 60 wait_for_non_empty_metrics_value( - prometheus=prometheus, - metric_name=f"last_over_time({query.format(vm_name=vm_for_migration_metrics_test.name)}" - f"[{minutes_passed_since_migration_start if minutes_passed_since_migration_start > 10 else 10}m])", + prometheus=prometheus, metric_name=query.format(vm_name=vm_for_migration_metrics_test.name) ) diff --git a/tests/observability/metrics/utils.py b/tests/observability/metrics/utils.py index 76071b7ee6..cad6196e96 100644 --- a/tests/observability/metrics/utils.py +++ b/tests/observability/metrics/utils.py @@ -39,8 +39,10 @@ REGISTRY_STR, TIMEOUT_1MIN, TIMEOUT_2MIN, + TIMEOUT_3MIN, TIMEOUT_4MIN, TIMEOUT_5MIN, + TIMEOUT_5SEC, TIMEOUT_10SEC, TIMEOUT_15SEC, TIMEOUT_20SEC, @@ -467,8 +469,8 @@ def timestamp_to_seconds(timestamp: str) -> int: def wait_for_non_empty_metrics_value(prometheus: Prometheus, metric_name: str) -> None: samples = TimeoutSampler( - wait_timeout=TIMEOUT_5MIN, - sleep=TIMEOUT_30SEC, + wait_timeout=TIMEOUT_3MIN, + sleep=TIMEOUT_5SEC, func=get_metrics_value, prometheus=prometheus, metrics_name=metric_name,