Restrict existing strategies to their default scope
Diffrent stratege has diffrent default scope, restrict them to their default scope will avoid usage problems. 1)workload_balancing/thermal_optimization/airflow_optimization goals react on enabled nodes, so restrict default scope to compute nodes with up state and enabled status. 2)server_consolidation goal react on enabled or disabled nodes, So restrict default scope to compute nodes with up state and enabled/disabled status. Change-Id: I7437dee699ee2d3dd227a047196d4d8db811b81e Closes-Bug: #1714002
This commit is contained in:
@@ -171,6 +171,13 @@ class OutletTempControl(base.ThermalOptimizationBaseStrategy):
|
||||
choices=["ceilometer", "gnocchi"])
|
||||
]
|
||||
|
||||
def get_available_compute_nodes(self):
|
||||
default_node_scope = [element.ServiceState.ENABLED.value]
|
||||
return {uuid: cn for uuid, cn in
|
||||
self.compute_model.get_all_compute_nodes().items()
|
||||
if cn.state == element.ServiceState.ONLINE.value and
|
||||
cn.status in default_node_scope}
|
||||
|
||||
def calc_used_resource(self, node):
|
||||
"""Calculate the used vcpus, memory and disk based on VM flavors"""
|
||||
instances = self.compute_model.get_node_instances(node)
|
||||
@@ -186,7 +193,7 @@ class OutletTempControl(base.ThermalOptimizationBaseStrategy):
|
||||
|
||||
def group_hosts_by_outlet_temp(self):
|
||||
"""Group hosts based on outlet temp meters"""
|
||||
nodes = self.compute_model.get_all_compute_nodes()
|
||||
nodes = self.get_available_compute_nodes()
|
||||
size_cluster = len(nodes)
|
||||
if size_cluster == 0:
|
||||
raise wexc.ClusterEmpty()
|
||||
|
||||
Reference in New Issue
Block a user