in src/common/schedulers/slurm_commands.py [0:0]
def update_all_partitions(state, reset_node_addrs_hostname):
"""Update partitions to a state and reset nodesaddr/nodehostname if needed."""
try:
# Get all nodes from partition as opposed to ignoring power_down nodes
partitions = get_partitions_info()
partition_to_update = []
for part in partitions:
if PartitionStatus(part.state) != PartitionStatus(state):
log.info("Setting partition %s state from %s to %s", part.name, part.state, state)
if reset_node_addrs_hostname:
log.info("Resetting partition nodes %s", part.nodenames)
set_nodes_power_down(part.nodenames, reason="stopping cluster")
partition_to_update.append(part.name)
succeeded_partitions = update_partitions(partition_to_update, state)
return succeeded_partitions == partition_to_update
except Exception as e:
log.error("Failed when updating partitions with error %s", e)
return False