in src/common/schedulers/slurm_commands.py [0:0]
def _get_partition_nodes(partition_name, command_timeout=DEFAULT_GET_INFO_COMMAND_TIMEOUT):
"""Get up nodes in a parition by querying sinfo, and filtering out power_down nodes."""
all_nodes = _get_slurm_nodes(partition_name=partition_name)
power_down_nodes = _get_slurm_nodes(partition_name=partition_name, states="power_down,powering_down")
down_nodes = _get_slurm_nodes(partition_name=partition_name, states="down")
nodes = []
for nodename in all_nodes:
# Always try to maintain the following nodes:
# Static nodes
# Any node in down
# Any node not in power_saving mode
if "-st-" in nodename or nodename in down_nodes or (nodename not in power_down_nodes and nodename != "n/a"):
nodes.append(nodename)
return ",".join(nodes)