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
This commit is contained in:
Douglas Viroel 2025-03-07 17:16:19 -03:00
parent 7faed28e23
commit 9f77ca3211
5 changed files with 5 additions and 6 deletions

View File

@ -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)

View File

@ -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")

View File

@ -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)

View File

@ -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")

View File

@ -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)