in src/slurm_plugin/clustermgtd.py [0:0]
def _set_ice_compute_resources_to_down(self, compute_resource_nodes_map: Dict[str, Dict[str, List[SlurmNode]]]):
"""Set powered_down nodes which belong to insufficient capacity compute resources to down."""
if not self._insufficient_capacity_compute_resources:
return
nodes_to_down = {}
for queue_name, compute_resources in self._insufficient_capacity_compute_resources.items():
for compute_resource, event in compute_resources.items():
nodes = compute_resource_nodes_map.get(queue_name, {}).get(compute_resource, [])
for node in nodes:
if node.is_power() and not node.is_nodeaddr_set():
error_code = event.error_code
nodes_to_down.setdefault(error_code, []).append(node.name)
if nodes_to_down:
for error_code, node_list in nodes_to_down.items():
set_nodes_down(
node_list,
reason=f"(Code:{error_code})Temporarily disabling node due to insufficient capacity",
)