From 9f77ca3211bc50d570d9c258da7b7a2d075bae4a Mon Sep 17 00:00:00 2001 From: Douglas Viroel Date: Fri, 7 Mar 2025 17:16:19 -0300 Subject: [PATCH] Move make_host_statistic to the correct strategy This patch moves make_host_statistic methods out of the workload_balancing tests, since this strategy does not retrieve host metrics, only instances metrics. It adds make_host_statistic to vm_workload_consolidation tests, since this strategy retrieve this metric during its execution. In other strategies, make_host_statistic was moved after wait_for_instances_in_model, since the later can take some time to finish. This patch also change the increment factor of prometheus host metrics generation, which was 20% (idle) to 40% (idle), to avoid strategies excluding nodes from migration destination. Change-Id: I69d82f828be365f36b8bd0566fc62f4abdf6729b --- watcher_tempest_plugin/tests/scenario/base.py | 2 +- .../tests/scenario/test_execute_basic_optim.py | 3 +-- .../tests/scenario/test_execute_strategies.py | 4 ++-- .../tests/scenario/test_execute_vm_workload_consolidation.py | 1 + .../tests/scenario/test_execute_workload_balancing.py | 1 - 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/watcher_tempest_plugin/tests/scenario/base.py b/watcher_tempest_plugin/tests/scenario/base.py index eeb1d23..613e7c4 100644 --- a/watcher_tempest_plugin/tests/scenario/base.py +++ b/watcher_tempest_plugin/tests/scenario/base.py @@ -538,7 +538,7 @@ class BaseInfraOptimScenarioTest(manager.ScenarioTest): self.PROMETHEUS_METRIC_MAP['host_cpu_usage'], labels=host_labels, start_value=1.0, - inc_factor=0.2) + inc_factor=0.4) self.prometheus_client.add_measures(data) diff --git a/watcher_tempest_plugin/tests/scenario/test_execute_basic_optim.py b/watcher_tempest_plugin/tests/scenario/test_execute_basic_optim.py index 7a08ff4..6248293 100644 --- a/watcher_tempest_plugin/tests/scenario/test_execute_basic_optim.py +++ b/watcher_tempest_plugin/tests/scenario/test_execute_basic_optim.py @@ -66,10 +66,9 @@ class TestExecuteBasicStrategy(base.BaseInfraOptimScenarioTest): self.addCleanup(self.rollback_compute_nodes_status) self.addCleanup(self.wait_delete_instances_from_model) instances = self._create_one_instance_per_host_with_statistic() - self.make_host_statistic() - # wait for compute model updates self.wait_for_instances_in_model(instances) + self.make_host_statistic() _, goal = self.client.show_goal(self.GOAL_NAME) _, strategy = self.client.show_strategy("basic") diff --git a/watcher_tempest_plugin/tests/scenario/test_execute_strategies.py b/watcher_tempest_plugin/tests/scenario/test_execute_strategies.py index 6bdebfa..68a1cbb 100644 --- a/watcher_tempest_plugin/tests/scenario/test_execute_strategies.py +++ b/watcher_tempest_plugin/tests/scenario/test_execute_strategies.py @@ -51,9 +51,9 @@ class TestExecuteStrategies(base.BaseInfraOptimScenarioTest): self.addCleanup(self.rollback_compute_nodes_status) self.addCleanup(self.wait_delete_instances_from_model) instances = self._create_one_instance_per_host_with_statistic() - self.make_host_statistic() # wait for compute model updates self.wait_for_instances_in_model(instances) + self.make_host_statistic() goal_name = "server_consolidation" strategy_name = "basic" @@ -119,6 +119,7 @@ class TestExecuteStrategies(base.BaseInfraOptimScenarioTest): instances = self._create_one_instance_per_host_with_statistic(metrics) # wait for compute model updates self.wait_for_instances_in_model(instances) + self.make_host_statistic() goal_name = "server_consolidation" strategy_name = "vm_workload_consolidation" @@ -135,7 +136,6 @@ class TestExecuteStrategies(base.BaseInfraOptimScenarioTest): self.addCleanup(self.wait_delete_instances_from_model) instances = self._create_one_instance_per_host_with_statistic() self._pack_all_created_instances_on_one_host(instances) - self.make_host_statistic() # wait for compute model updates self.wait_for_instances_in_model(instances) diff --git a/watcher_tempest_plugin/tests/scenario/test_execute_vm_workload_consolidation.py b/watcher_tempest_plugin/tests/scenario/test_execute_vm_workload_consolidation.py index 78ec08b..fed2c85 100644 --- a/watcher_tempest_plugin/tests/scenario/test_execute_vm_workload_consolidation.py +++ b/watcher_tempest_plugin/tests/scenario/test_execute_vm_workload_consolidation.py @@ -74,6 +74,7 @@ class TestExecuteVmWorkloadBalanceStrategy(base.BaseInfraOptimScenarioTest): instances = self._create_one_instance_per_host_with_statistic(metrics) # wait for compute model updates self.wait_for_instances_in_model(instances) + self.make_host_statistic() _, goal = self.client.show_goal(self.GOAL_NAME) _, strategy = self.client.show_strategy("vm_workload_consolidation") diff --git a/watcher_tempest_plugin/tests/scenario/test_execute_workload_balancing.py b/watcher_tempest_plugin/tests/scenario/test_execute_workload_balancing.py index 32cdf93..482e1d3 100644 --- a/watcher_tempest_plugin/tests/scenario/test_execute_workload_balancing.py +++ b/watcher_tempest_plugin/tests/scenario/test_execute_workload_balancing.py @@ -62,7 +62,6 @@ class TestExecuteWorkloadBalancingStrategy(base.BaseInfraOptimScenarioTest): self.addCleanup(self.wait_delete_instances_from_model) instances = self._create_one_instance_per_host_with_statistic() self._pack_all_created_instances_on_one_host(instances) - self.make_host_statistic() # wait for compute model updates self.wait_for_instances_in_model(instances)