Skip to content
Snippets Groups Projects
Commit 8db9d1b7 authored by Danny Auble's avatar Danny Auble
Browse files

BLUEGENE - added logic to be able to reboot a block on the start of a job...

BLUEGENE - added logic to be able to reboot a block on the start of a job based on the input from srun.
parent 5772e7ed
No related branches found
No related tags found
No related merge requests found
...@@ -13,7 +13,8 @@ documents those changes that are of interest to users and admins. ...@@ -13,7 +13,8 @@ documents those changes that are of interest to users and admins.
patch.1.2.0-pre10.061214.affinity_stepid from Dan Palermo (HP). patch.1.2.0-pre10.061214.affinity_stepid from Dan Palermo (HP).
-- Modify jobacct/linux plugin to completely eliminate open /proc files. -- Modify jobacct/linux plugin to completely eliminate open /proc files.
-- Added slurm_sched_plugin_reconfig() function to re-read config files. -- Added slurm_sched_plugin_reconfig() function to re-read config files.
-- BLUEGENE - --reboot option to srun, salloc, and sbatch actually works.
* Changes in SLURM 1.2.0-pre10 * Changes in SLURM 1.2.0-pre10
============================== ==============================
-- Fix for sinfo node state counts by state (%A and %F output options). -- Fix for sinfo node state counts by state (%A and %F output options).
......
...@@ -72,6 +72,7 @@ typedef struct bg_update { ...@@ -72,6 +72,7 @@ typedef struct bg_update {
enum update_op op; /* start | terminate | sync */ enum update_op op; /* start | terminate | sync */
uid_t uid; /* new user */ uid_t uid; /* new user */
uint32_t job_id; /* SLURM job id */ uint32_t job_id; /* SLURM job id */
uint16_t reboot; /* reboot block before starting job */
pm_partition_id_t bg_block_id; pm_partition_id_t bg_block_id;
char *blrtsimage; /* BlrtsImage for this block */ char *blrtsimage; /* BlrtsImage for this block */
char *linuximage; /* LinuxImage for this block */ char *linuximage; /* LinuxImage for this block */
...@@ -401,8 +402,9 @@ static void _start_agent(bg_update_t *bg_update_ptr) ...@@ -401,8 +402,9 @@ static void _start_agent(bg_update_t *bg_update_ptr)
slurm_mutex_lock(&block_state_mutex); slurm_mutex_lock(&block_state_mutex);
bg_record->modifying = 0; bg_record->modifying = 0;
slurm_mutex_unlock(&block_state_mutex); slurm_mutex_unlock(&block_state_mutex);
} } else if(bg_update_ptr->reboot)
bg_free_block(bg_record);
if(bg_record->state == RM_PARTITION_FREE) { if(bg_record->state == RM_PARTITION_FREE) {
if((rc = boot_block(bg_record)) != SLURM_SUCCESS) { if((rc = boot_block(bg_record)) != SLURM_SUCCESS) {
sleep(2); sleep(2);
...@@ -820,6 +822,9 @@ extern int start_job(struct job_record *job_ptr) ...@@ -820,6 +822,9 @@ extern int start_job(struct job_record *job_ptr)
select_g_get_jobinfo(job_ptr->select_jobinfo, select_g_get_jobinfo(job_ptr->select_jobinfo,
SELECT_DATA_BLRTS_IMAGE, SELECT_DATA_BLRTS_IMAGE,
&(bg_update_ptr->blrtsimage)); &(bg_update_ptr->blrtsimage));
select_g_get_jobinfo(job_ptr->select_jobinfo,
SELECT_DATA_REBOOT,
&(bg_update_ptr->reboot));
if(!bg_update_ptr->blrtsimage) { if(!bg_update_ptr->blrtsimage) {
bg_update_ptr->blrtsimage = xstrdup(default_blrtsimage); bg_update_ptr->blrtsimage = xstrdup(default_blrtsimage);
select_g_set_jobinfo(job_ptr->select_jobinfo, select_g_set_jobinfo(job_ptr->select_jobinfo,
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* any later version. * any later version.
* *
* In addition, as a special exception, the copyright holders give permission * In addition, as a special exception, the copyright holders give permission
* to link the code of portions of this program with the OpenSSL library under * to link the code of portions of this program with the OpenSSL library under
* certain conditions as described in each individual source file, and * certain conditions as described in each individual source file, and
* distribute linked combinations including the two. You must obey the GNU * distribute linked combinations including the two. You must obey the GNU
* General Public License in all respects for all of the code used other than * General Public License in all respects for all of the code used other than
......
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