diff --git a/NEWS b/NEWS index d80ceafe48ba8f3257b27c963001d214ec57ac05..2c38b6e392be5b156078a491aa31d019845474d6 100644 --- a/NEWS +++ b/NEWS @@ -245,17 +245,18 @@ documents those changes that are of interest to users and admins. * Changes in SLURM 1.1.33 ========================= - - sched/wiki - Do not wait for job completion before permitting + - sched/wiki2 - Do not wait for job completion before permitting additional jobs to be scheduled. - Add srun SLURM_EXCLUSIVE environment variable support, from Gilles Civario (Bull). - - sched/wiki - Report job's node sharing options. + - sched/wiki2 - Report job's node sharing options. + - sched/wiki2 - If SchedulerPort is in use, retry opening it indefinitely. * Changes in SLURM 1.1.32 ========================= - If a job's stdout/err file names are unusable (bad path), use the default names. - - sched/wiki - Fix logic to be compatible with select/cons_res plugin + - sched/wiki2 - Fix logic to be compatible with select/cons_res plugin for allocating individual processors within nodes. - Fix job end time calculation when changed from an initial value of INFINITE. diff --git a/src/plugins/sched/wiki2/msg.c b/src/plugins/sched/wiki2/msg.c index 218f54e5d07242151fd9c774d52b8116ab486cc7..3f6ed229e3973b13264d35c4688d891f70a0f38d 100644 --- a/src/plugins/sched/wiki2/msg.c +++ b/src/plugins/sched/wiki2/msg.c @@ -128,12 +128,21 @@ static void *_msg_thread(void *no_data) uint16_t sched_port; char *msg; slurm_ctl_conf_t *conf = slurm_conf_lock(); + int i; sched_port = conf->schedport; slurm_conf_unlock(); - if ((sock_fd = slurm_init_msg_engine_port(sched_port)) - == SLURM_SOCKET_ERROR) { - fatal("wiki: slurm_init_msg_engine_port %u %m", + + /* If SchedulerPort is already taken, keep trying to open it + * once per minute. Slurmctld will continue to function + * during this interval even if nothing can be scheduled. */ + for (i=0; ; i++) { + if (i > 0) + sleep(60); + sock_fd = slurm_init_msg_engine_port(sched_port); + if (sock_fd != SLURM_SOCKET_ERROR) + break; + error("wiki: slurm_init_msg_engine_port %u %m", sched_port); }