Skip to content
Snippets Groups Projects
Commit b2483754 authored by David Bigagli's avatar David Bigagli Committed by Morris Jette
Browse files

Save the state of scheduled node reboots so they will not be

lost should the slurmctld restart.
parent f95bb209
No related branches found
No related tags found
No related merge requests found
......@@ -131,6 +131,8 @@ documents those changes that are of interest to users and admins.
-- When creating reservation with CoreCnt check that Slurm
uses SelectType=select/cons_res otherwise don't send the
request to slurmctld and return an error.
-- Save the state of scheduled node reboots so they will not be
lost should the slurmctld restart.
* Changes in Slurm 14.03.6
==========================
......
......@@ -1300,6 +1300,10 @@ static void _queue_reboot_msg(void)
want_nodes_reboot = true;
continue;
}
if (IS_NODE_COMPLETING(node_ptr)) {
want_nodes_reboot = true;
continue;
}
if (IS_NODE_IDLE(node_ptr) && !IS_NODE_NO_RESPOND(node_ptr) &&
!IS_NODE_POWER_UP(node_ptr)) /* only active idle nodes */
want_reboot = true;
......@@ -1322,6 +1326,7 @@ static void _queue_reboot_msg(void)
reboot_agent_args->node_count++;
node_ptr->node_state = NODE_STATE_FUTURE |
(node_ptr->node_state & NODE_STATE_FLAGS);
node_ptr->node_state &= ~NODE_STATE_MAINT;
bit_clear(avail_node_bitmap, i);
bit_clear(idle_node_bitmap, i);
node_ptr->last_response = now;
......@@ -1334,6 +1339,7 @@ static void _queue_reboot_msg(void)
xfree(host_str);
agent_queue_request(reboot_agent_args);
last_node_update = now;
schedule_node_save();
}
}
......
......@@ -529,6 +529,8 @@ extern int load_all_node_state ( bool state_only )
mem_spec_limit;
node_ptr->tmp_disk = tmp_disk;
}
if (node_state & NODE_STATE_MAINT)
node_ptr->node_state |= NODE_STATE_MAINT;
if (node_state & NODE_STATE_POWER_UP) {
if (power_save_mode) {
node_ptr->node_state |=
......
......@@ -4674,6 +4674,10 @@ inline static void _slurm_rpc_reboot_nodes(slurm_msg_t * msg)
node_ptr->node_state |= NODE_STATE_MAINT;
want_nodes_reboot = true;
}
if (want_nodes_reboot == true)
schedule_node_save();
unlock_slurmctld(node_write_lock);
FREE_NULL_BITMAP(bitmap);
rc = SLURM_SUCCESS;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment