Skip to content

Commit

Permalink
This commit was manufactured by cvs2svn to create tag
Browse files Browse the repository at this point in the history
'slurm-0-3-14-1'.
  • Loading branch information
no author committed Jun 10, 2005
1 parent 8e60bcf commit 5a49bcb
Show file tree
Hide file tree
Showing 40 changed files with 522 additions and 248 deletions.
4 changes: 2 additions & 2 deletions META
Expand Up @@ -9,8 +9,8 @@
Name: slurm Name: slurm
Major: 0 Major: 0
Minor: 3 Minor: 3
Micro: 7 Micro: 14
Version: 0.3.7 Version: 0.3.14
Release: 1 Release: 1
API_CURRENT: 5 API_CURRENT: 5
API_AGE: 4 API_AGE: 4
Expand Down
47 changes: 47 additions & 0 deletions NEWS
@@ -1,6 +1,53 @@
This file describes changes in recent versions of SLURM. It primarily This file describes changes in recent versions of SLURM. It primarily
documents those changes that are of interest to users and admins. documents those changes that are of interest to users and admins.


* Changes in SLURM 0.3.14
=========================
-- Fix bug in bitfmt2int() which can go off allocated memory.

* Changes in SLURM 0.3.13
=========================
-- "sinfo -i" no longer aborts when nodes have associated features

* Changes in SLURM 0.3.12
=========================
-- Always report job scheduling details (so prolog/epilog can find
constraints).

* Changes in SLURM 0.3.11
=========================
-- Fixes for reported problems:
- slurm/538: user tasks block writing to stdio
-- Added srun option --disable-status,-X to disable srun status feature
and instead forward SIGINT immediately to job upon receipt of Ctrl-C.
-- Fix for bogus slurmd error message "Unable to put task N into pgrp..."
-- Fix case where slurmd may erroneously detect shared memory entry
as "stale" and delete entry for unkillable or slow-to-exit job.
-- (qsnet) Fix for running slurmd on node without and elan3 adapter.

* Changes in SLURM 0.3.10
=========================
-- Move startup script from "/etc/rc.d/init.d/slurm" to "/etc/init.d/slurm"
-- Avoid creating orphaned process group when starting job processes.
-- Remove calls in auth/munge plugin deprecated by munge-0.4.

* Changes in SLURM 0.3.9
========================
-- Fixes for reported problems:
- slurm/512: Let job steps run on DRAINING nodes
- slurm/513: Gracefully deal with UIDs missing from passwd file
-- Create new allocation as needed for debugger in case old allocation
has been purged
-- Fix bug in scheduling jobs when a processor count is specified
and FastSchedule=0 and the cluster is heterogeneous.
-- Fix srun bug when --input, --output and --error are all "none"
-- Allow single task id to be selected with --input, --output, and --error.
-- Create shared memory segment for Elan statistics when using the
switch/elan plugin.

* Changes in SLURM 0.3.8
========================
-- More fixes necessary for TotalView.


* Changes in SLURM 0.3.7 * Changes in SLURM 0.3.7
======================== ========================
Expand Down
8 changes: 6 additions & 2 deletions doc/man/man1/scontrol.1
Expand Up @@ -171,6 +171,7 @@ Possible values are"YES" and "NO".
Set the job's required features on nodes specified value. Multiple values Set the job's required features on nodes specified value. Multiple values
may be comma separated if all features are required (AND operation) or may be comma separated if all features are required (AND operation) or
separated by "|" if any of the specified features are required (OR operation). separated by "|" if any of the specified features are required (OR operation).
Value may be cleared with blank data value, "Features=".
.TP .TP
\fIJobId\fP=<id> \fIJobId\fP=<id>
Identify the job to be updated. This specification is required. Identify the job to be updated. This specification is required.
Expand All @@ -196,6 +197,7 @@ Set the job's priority to the specified value.
\fIReqNodeList\fP=<nodes> \fIReqNodeList\fP=<nodes>
Set the job's list of required node. Multiple node names may be specified using Set the job's list of required node. Multiple node names may be specified using
simple node range expressions (e.g. "lx[10-20]"). simple node range expressions (e.g. "lx[10-20]").
Value may be cleared with blank data value, "ReqNodeList=".
.TP .TP
\fIReqNodes\fP=<count> \fIReqNodes\fP=<count>
Set the job's count of required nodes to the specified value. Set the job's count of required nodes to the specified value.
Expand Down Expand Up @@ -232,8 +234,9 @@ changing its underlying state.
\fBSPECIFICATIONS FOR UPDATE AND DELETE COMMANDS, PARTITIONS\fR \fBSPECIFICATIONS FOR UPDATE AND DELETE COMMANDS, PARTITIONS\fR
.TP .TP
\fIAllowGroups\fP=<name> \fIAllowGroups\fP=<name>
Identify the user groups which may use this partition. Multiple groups Identify the user groups which may use this partition.
may be specified in a comma separated list. Multiple groups may be specified in a comma separated list.
To permit all groups to use the partition specify "AllowGroups=ALL"
.TP .TP
\fIDefault\fP=<yes|no> \fIDefault\fP=<yes|no>
Specify if this partition is to be used by jobs which do not explicitly Specify if this partition is to be used by jobs which do not explicitly
Expand All @@ -249,6 +252,7 @@ Possible values are"YES" and "NO".
Identify the node(s) to be associated with this partition. Multiple node names Identify the node(s) to be associated with this partition. Multiple node names
may be specified using simple node range expressions (e.g. "lx[10-20]"). may be specified using simple node range expressions (e.g. "lx[10-20]").
Note that jobs may only be associated with one partition at any time. Note that jobs may only be associated with one partition at any time.
Specify a blank data value to remove all nodes from a partition: "Nodes=".
.TP .TP
\fIPartitionName\fP=<name> \fIPartitionName\fP=<name>
Identify the partition to be updated. This specification is required. Identify the partition to be updated. This specification is required.
Expand Down
20 changes: 16 additions & 4 deletions doc/man/man1/srun.1
Expand Up @@ -223,15 +223,24 @@ the job. By default only errors are displayed.
.TP .TP
\fB\-W\fR, \fB\-\-wait\fR=\fIseconds\fR \fB\-W\fR, \fB\-\-wait\fR=\fIseconds\fR
Specify how long to wait after the first task terminates before terminating Specify how long to wait after the first task terminates before terminating
all remaining tasks. The default value is unlimited. This can be useful to all remaining tasks. A value of 0 indicates an unlimited wait (a warning will
insure that a job is terminated in a timely fashion in the event that one be issued after 60 seconds). The default value is set by the WaitTime
or more tasks terminate prematurely. parameter in the slurm configuration file (see \fBslurm.conf(5)\fR). This
option can be useful to insure that a job is terminated in a timely fashion
in the event that one or more tasks terminate prematurely.
.TP .TP
\fB\-q\fR, \fB\-\-quit-on-interrupt\fR \fB\-q\fR, \fB\-\-quit-on-interrupt\fR
Quit immediately on single SIGINT (Ctrl-C). Use of this option Quit immediately on single SIGINT (Ctrl-C). Use of this option
disables the status feature normally available when \fBsrun\fR receives disables the status feature normally available when \fBsrun\fR receives
a single Ctrl-C and causes \fBsrun\fR to instead immediately terminate the a single Ctrl-C and causes \fBsrun\fR to instead immediately terminate the
running job. running job.
.TP
\fB\-X\fR, \fB\-\-disable-status\fR
Disable the display of task status when srun receives a single SIGINT
(Ctrl-C). Instead immediately forward the SIGINT to the running job.
A second Ctrl-C in one second will forcibly terminate the job and
\fBsrun\fR will immediately exit. May also be set via the environment
variable SLURM_DISABLE_STATUS.
.TP .TP
\fB\-Q\fR, \fB\-\-quiet\fR \fB\-Q\fR, \fB\-\-quiet\fR
Quiet operation. Suppress informational messages. Errors will still Quiet operation. Suppress informational messages. Errors will still
Expand Down Expand Up @@ -604,6 +613,9 @@ SLURM_TIMELIMIT
.TP .TP
SLURM_WAIT SLURM_WAIT
\fB\-W, \-\-wait\fR=\fIseconds\fR \fB\-W, \-\-wait\fR=\fIseconds\fR
.TP
SLURM_DISABLE_STATUS
\fB\-X, \-\-disable-status\fR
.PP .PP
Additionally, Additionally,
.B srun .B srun
Expand Down
29 changes: 19 additions & 10 deletions etc/init.d.slurm
Expand Up @@ -16,6 +16,11 @@


# $Id$ # $Id$


BINDIR=/usr/bin
CONFDIR=/etc/slurm
LIBDIR=/usr/lib
SBINDIR=/usr/sbin

# Source function library. # Source function library.
[ -f /etc/rc.d/init.d/functions ] || exit 0 [ -f /etc/rc.d/init.d/functions ] || exit 0
. /etc/rc.d/init.d/functions . /etc/rc.d/init.d/functions
Expand All @@ -28,14 +33,17 @@ else
SLURMD_OPTIONS="" SLURMD_OPTIONS=""
fi fi


[ -f /etc/slurm/slurm.conf ] || exit 1 [ -f $CONFDIR/slurm.conf ] || exit 1

# setup library paths for slurm and munge support
export LD_LIBRARY_PATH="$LIBDIR:$LD_LIBRARY_PATH"


RETVAL=0 RETVAL=0


start() { start() {
echo -n "starting $1: " echo -n "starting $1: "
unset HOME MAIL USER USERNAME unset HOME MAIL USER USERNAME
daemon /usr/sbin/$1 $2 daemon $SBINDIR/$1 $2
RETVAL=$? RETVAL=$?
echo echo
touch /var/lock/subsys/slurm touch /var/lock/subsys/slurm
Expand All @@ -52,7 +60,7 @@ stop() {
} }


startall() { startall() {
for prog in `scontrol show daemons`; do for prog in `$BINDIR/scontrol show daemons`; do
optvar=`echo ${prog}_OPTIONS | tr "a-z" "A-Z"` optvar=`echo ${prog}_OPTIONS | tr "a-z" "A-Z"`
start $prog ${!optvar} start $prog ${!optvar}
done done
Expand All @@ -68,7 +76,7 @@ slurmstatus() {
local rpid local rpid
local pidfile local pidfile


pidfile=`grep -i ${base}pid /etc/slurm/slurm.conf | grep -v '^ *#'` pidfile=`grep -i ${base}pid $CONFDIR/slurm.conf | grep -v '^ *#'`
if [ $? = 0 ]; then if [ $? = 0 ]; then
pidfile=${pidfile##*=} pidfile=${pidfile##*=}
pidfile=${pidfile%#*} pidfile=${pidfile%#*}
Expand Down Expand Up @@ -123,33 +131,34 @@ case "$1" in
startall startall
;; ;;
stop) stop)
for prog in `scontrol show daemons`; do for prog in `$BINDIR/scontrol show daemons`; do
stop $prog stop $prog
done done
;; ;;
status) status)
for prog in `scontrol show daemons`; do for prog in `$BINDIR/scontrol show daemons`; do
slurmstatus $prog slurmstatus $prog
done done
;; ;;
restart) restart)
$0 stop && $0 start $0 stop
$0 start
;; ;;
condrestart) condrestart)
if [ -f /var/lock/subsys/slurm ]; then if [ -f /var/lock/subsys/slurm ]; then
for prog in `scontrol show daemons`; do for prog in `$BINDIR/scontrol show daemons`; do
stop $prog stop $prog
start $prog start $prog
done done
fi fi
;; ;;
reconfig) reconfig)
for prog in `scontrol show daemons`; do for prog in `$BINDIR/scontrol show daemons`; do
killproc $prog -HUP killproc $prog -HUP
done done
;; ;;
test) test)
for prog in `scontrol show daemons`; do for prog in `$BINDIR/scontrol show daemons`; do
echo "$prog runs here" echo "$prog runs here"
done done
;; ;;
Expand Down
40 changes: 22 additions & 18 deletions slurm.spec.in
Expand Up @@ -24,8 +24,12 @@ Requires: openssl >= 0.9.6
# #
%if %{?_with_debug:1}%{!?_with_debug:0} %if %{?_with_debug:1}%{!?_with_debug:0}
%define _enable_debug --enable-debug %define _enable_debug --enable-debug
%define __os_install_post /usr/lib/rpm/brp-compress
%endif %endif
#
# Never allow rpm to strip binaries as this will break
# parallel debugging capability
#
%define __os_install_post /usr/lib/rpm/brp-compress




%package devel %package devel
Expand Down Expand Up @@ -108,16 +112,16 @@ rm -rf "$RPM_BUILD_ROOT"
mkdir -p "$RPM_BUILD_ROOT" mkdir -p "$RPM_BUILD_ROOT"
DESTDIR="$RPM_BUILD_ROOT" make install DESTDIR="$RPM_BUILD_ROOT" make install


install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT/etc/rc.d/init.d/slurm install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT/etc/init.d/slurm
install -D -m644 etc/slurm.conf.example $RPM_BUILD_ROOT/etc/slurm/slurm.conf install -D -m644 etc/slurm.conf.example $RPM_BUILD_ROOT/etc/slurm/slurm.conf
# Delete unpackaged files: # Delete unpackaged files:
rm -f $RPM_BUILD_ROOT/usr/lib/slurm/*.{a,la} rm -f $RPM_BUILD_ROOT/%{_libdir}/slurm/*.{a,la}


# Build file lists for optional plugin packages # Build file lists for optional plugin packages
for plugin in auth_munge auth_authd switch_elan; do for plugin in auth_munge auth_authd switch_elan; do
LIST=./${plugin}.files LIST=./${plugin}.files
touch $LIST touch $LIST
test -f $RPM_BUILD_ROOT/usr/lib/slurm/${plugin}.so && test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/${plugin}.so &&
echo %{_libdir}/slurm/${plugin}.so > $LIST echo %{_libdir}/slurm/${plugin}.so > $LIST
done done


Expand Down Expand Up @@ -154,7 +158,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/slurm/sched_builtin.so %{_libdir}/slurm/sched_builtin.so
%{_libdir}/slurm/switch_none.so %{_libdir}/slurm/switch_none.so
%dir %{_libdir}/slurm/src %dir %{_libdir}/slurm/src
%config(noreplace) /etc/rc.d/init.d/slurm %config(noreplace) /etc/init.d/slurm
%config(noreplace) /etc/slurm/slurm.conf %config(noreplace) /etc/slurm/slurm.conf
############################################################################# #############################################################################


Expand Down Expand Up @@ -189,29 +193,24 @@ rm -rf $RPM_BUILD_ROOT
############################################################################# #############################################################################


%pre %pre
#if [ -x /etc/rc.d/init.d/slurm ]; then #if [ -x /etc/init.d/slurm ]; then
# if /etc/rc.d/init.d/slurm status | grep -q running; then # if /etc/init.d/slurm status | grep -q running; then
# /etc/rc.d/init.d/slurm stop # /etc/init.d/slurm stop
# fi # fi
#fi #fi


%post %post
/sbin/ldconfig %{_libdir} /sbin/ldconfig %{_libdir}
if [ -x /etc/rc.d/init.d/slurm ]; then if [ $1 = 1 ]; then
[ -x /sbin/chkconfig ] && /sbin/chkconfig --del slurm
[ -x /sbin/chkconfig ] && /sbin/chkconfig --add slurm [ -x /sbin/chkconfig ] && /sbin/chkconfig --add slurm
# if ! /etc/rc.d/init.d/slurm status | grep -q running \
# || ! /etc/rc.d/init.d/slurm test | grep -q slurmctld; then
# /etc/rc.d/init.d/slurm start
# fi
fi fi


%preun %preun
if [ "$1" = 0 ]; then if [ $1 = 0 ]; then
if [ -x /etc/rc.d/init.d/slurm ]; then if [ -x /etc/init.d/slurm ]; then
[ -x /sbin/chkconfig ] && /sbin/chkconfig --del slurm [ -x /sbin/chkconfig ] && /sbin/chkconfig --del slurm
if /etc/rc.d/init.d/slurm status | grep -q running; then if /etc/init.d/slurm status | grep -q running; then
/etc/rc.d/init.d/slurm stop /etc/init.d/slurm stop
fi fi
fi fi
fi fi
Expand All @@ -224,6 +223,11 @@ fi




%changelog %changelog
* Fri Oct 01 2004 Mark Grondona <mgrondona@llnl.gov>
- don't delete and add service in %post
* Wed Aug 04 2004 Mark Grondona <mgrondona@llnl.gov>
- don't allow rpm to strip binaries since this breaks interface to parallel
debuggers.
* Thu Jul 29 2004 Morris Jette <jette1@llnl.gov> * Thu Jul 29 2004 Morris Jette <jette1@llnl.gov>
- added checkpoint_none.so and jobcomp_script.so plugins - added checkpoint_none.so and jobcomp_script.so plugins
* Fri Mar 07 2004 Mark Grondona <mgrondona@llnl.gov> * Fri Mar 07 2004 Mark Grondona <mgrondona@llnl.gov>
Expand Down
4 changes: 3 additions & 1 deletion src/common/bitstring.c
Expand Up @@ -624,7 +624,8 @@ bitfmt2int (char *bit_str_ptr)
if (bit_str_ptr == NULL) if (bit_str_ptr == NULL)
return NULL; return NULL;
size = strlen (bit_str_ptr) + 1; size = strlen (bit_str_ptr) + 1;
bit_int_ptr = xmalloc ( sizeof (int *) * size); bit_int_ptr = xmalloc ( sizeof (int *) *
(size * 2 + 1)); /* more than enough space */
if (bit_int_ptr == NULL) if (bit_int_ptr == NULL)
return NULL; return NULL;


Expand Down Expand Up @@ -653,6 +654,7 @@ bitfmt2int (char *bit_str_ptr)
sum = 0; sum = 0;
} }
} }
assert(bit_inx < (size*2+1));
bit_int_ptr[bit_inx] = -1; bit_int_ptr[bit_inx] = -1;
return bit_int_ptr; return bit_int_ptr;
} }
Expand Down

0 comments on commit 5a49bcb

Please sign in to comment.