Skip to content

Commit 8b66554

Browse files
committed
Update documentation and prep for a release canidate
1 parent a5e3146 commit 8b66554

12 files changed

+105
-54
lines changed

CHANGELOG

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
Spindle 0.13
2+
-----------
3+
- Fix handling of ORIGIN when it appears in .so libraries.
4+
- Can now wrap IBM's jsrun (and the LLNL alias lrun) with spindle.
5+
- New SLURM plugin for launching spindle with "srun --spindle ..."
6+
- New spindle launch mode that starts up daemons via an rsh/ssh tree
7+
- New interfaces in spindle_launch for easier RM integration.
8+
19
Spindle 0.12
210
-----------
311
- Fixes for handling libraries with aliases, such as the same library loaded twice under two different symlink paths

COPYRIGHT

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Spindle is co-developed by Lawrence Livermore National Security and
22
Juelich Supercomputing Center. The following copyrights apply:
33

4-
Copyright (c) 2014, Lawrence Livermore National Security, LLC. Produced at
4+
Copyright (c) 2020, Lawrence Livermore National Security, LLC. Produced at
55
the Lawrence Livermore National Laboratory. Written by Matthew LeGendre
66
'legendre1 at llnl dot gov'. CODE-636292. All rights reserved.
77

8-
Copyright (c) 2014, Juelich Supercomputing Center. Written by Wolfgang Frings
8+
Copyright (c) 2020, Juelich Supercomputing Center. Written by Wolfgang Frings
99
'W.Frings at fz-juelich dot de'. All rights reserved.
1010

1111

INSTALL

+21-2
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,27 @@ run 'configure --help' to see them all.
101101

102102
3) Specify a start-up mechanism that works on your cluster
103103

104-
Spindle prefers to use LaunchMON
105-
(http://sourceforge.net/projects/launchmon) to start its daemons, but
104+
If you're integrating Spindle with SLURM, then you can use Spindle's slurm
105+
wrappers, and optionally use Spindle's slurm plugin. The wrappers can be
106+
enabled by --with-rm=slurm. These let you run spindle on slurm by invoking
107+
"spindle srun ...". But you have to get a SLURM allocation before running
108+
spindle/srun. You can also build a SLURM plugin by adding the
109+
--enable-slurm-plugin option to configure. By putting the resulting plugin
110+
file libspindleslurm.so into SLURM's plugstack.conf, you can run Spindle
111+
with "srun --spindle ...". This mode does not nead an allocation already
112+
setup when you invoke srun (but it doesn't hurt to have one). The ideal
113+
launch mode would be to enable both.
114+
115+
If you're integrating Spindle with IBM's LSF, then you can use IBM's built-in
116+
LSF integration, or you can enable Spindle's jsrun/lrun wrappers. See IBM's
117+
documentation for using their built-in Spindle integration--it's invoked
118+
with something similar to "jsrun --use_spindle=1". To enable Spindle's
119+
LSF wrapper, configure spindle with the "--with-rm=jsrun" (if building
120+
Spindle with LLNL's lrun wrappers to jsrun, then use --with-rm=lrun).
121+
This will let you run Spindle with "spindle jsrun ...".
122+
123+
Otherwise, you can use LaunchMON
124+
(http://sourceforge.net/projects/launchmon) to start spindle, but
106125
that won't work on all clusters. LaunchMON is normally used for
107126
starting debuggers on clusters, but Spindle has different requirements
108127
than debuggers. One way to tell if Spindle/LaunchMON will work on

LIB_VERSION

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@
2323
# Spindle 0.10 - libspindlefe.so 1.0.1, libspindlebe.so 1.0.1, libspindle.so 0.1.0
2424
# Spindle 0.11 - libspindlefe.so 2.0.0, libspindlebe.so 2.0.0, libspindle.so 0.1.0
2525
# Spindle 0.12 - libspindlefe.so 2.1.0, libspindlebe.so 2.1.0, libspindle.so 0.1.0
26+
# Spindle 0.13 - libspindlefe.so 3.0.1, libspindlebe.so 3.0.1, libspindle.so 0.1.0, libspindleslurm.so 0.0.0
2627

2728
if test "x$1" == "xspindlefe"; then
28-
echo 2:1:0
29+
echo 3:0:1
2930
fi
3031
if test "x$1" == "xspindlebe"; then
31-
echo 2:1:0
32+
echo 3:0:1
3233
fi
3334
if test "x$1" == "xlibspindle"; then
3435
echo 0:1:0

README

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Authors: SPINDLE: Matthew LeGendre (legendre1 at llnl dot gov)
55
W.Frings <W.Frings at fz-juelich dot de>
66
COBO: Adam Moody <moody20 at llnl dot gov>
77

8-
Version: 0.12 (May 2020)
8+
Version: 0.13 (Aug 2020)
99

1010
Summary:
1111
===========

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.12
1+
0.13rc1

configure

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for spindle 0.12.
3+
# Generated by GNU Autoconf 2.69 for spindle 0.13rc1.
44
#
55
# Report bugs to <[email protected]>.
66
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
590590
# Identity of this package.
591591
PACKAGE_NAME='spindle'
592592
PACKAGE_TARNAME='spindle'
593-
PACKAGE_VERSION='0.12'
594-
PACKAGE_STRING='spindle 0.12'
593+
PACKAGE_VERSION='0.13rc1'
594+
PACKAGE_STRING='spindle 0.13rc1'
595595
PACKAGE_BUGREPORT='[email protected]'
596596
PACKAGE_URL=''
597597

@@ -1423,7 +1423,7 @@ if test "$ac_init_help" = "long"; then
14231423
# Omit some internal or obsolete options to make the list less imposing.
14241424
# This message is too long to be a string in the A/UX 3.1 sh.
14251425
cat <<_ACEOF
1426-
\`configure' configures spindle 0.12 to adapt to many kinds of systems.
1426+
\`configure' configures spindle 0.13rc1 to adapt to many kinds of systems.
14271427

14281428
Usage: $0 [OPTION]... [VAR=VALUE]...
14291429

@@ -1494,7 +1494,7 @@ fi
14941494

14951495
if test -n "$ac_init_help"; then
14961496
case $ac_init_help in
1497-
short | recursive ) echo "Configuration of spindle 0.12:";;
1497+
short | recursive ) echo "Configuration of spindle 0.13rc1:";;
14981498
esac
14991499
cat <<\_ACEOF
15001500

@@ -1665,7 +1665,7 @@ fi
16651665
test -n "$ac_init_help" && exit $ac_status
16661666
if $ac_init_version; then
16671667
cat <<\_ACEOF
1668-
spindle configure 0.12
1668+
spindle configure 0.13rc1
16691669
generated by GNU Autoconf 2.69
16701670

16711671
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2155,7 +2155,7 @@ cat >config.log <<_ACEOF
21552155
This file contains any messages produced by compilers while
21562156
running configure, to aid debugging if configure makes a mistake.
21572157

2158-
It was created by spindle $as_me 0.12, which was
2158+
It was created by spindle $as_me 0.13rc1, which was
21592159
generated by GNU Autoconf 2.69. Invocation command line was
21602160

21612161
$ $0 $@
@@ -3130,7 +3130,7 @@ fi
31303130

31313131
# Define the identity of the package.
31323132
PACKAGE='spindle'
3133-
VERSION='0.12'
3133+
VERSION='0.13rc1'
31343134

31353135

31363136
cat >>confdefs.h <<_ACEOF
@@ -18461,7 +18461,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1846118461
# report actual input values of CONFIG_FILES etc. instead of their
1846218462
# values after options handling.
1846318463
ac_log="
18464-
This file was extended by spindle $as_me 0.12, which was
18464+
This file was extended by spindle $as_me 0.13rc1, which was
1846518465
generated by GNU Autoconf 2.69. Invocation command line was
1846618466

1846718467
CONFIG_FILES = $CONFIG_FILES
@@ -18527,7 +18527,7 @@ _ACEOF
1852718527
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1852818528
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1852918529
ac_cs_version="\\
18530-
spindle config.status 0.12
18530+
spindle config.status 0.13rc1
1853118531
configured by $0, generated by GNU Autoconf 2.69,
1853218532
with options \\"\$ac_cs_config\\"
1853318533

doc/spindle_launch_README.md

+29-5
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ Overview
99
--------
1010

1111
While Spindle comes with several mechanisms for launching (launchmon,
12-
hostbin, slurm, and serial as of v0.13), each of these has disadvantages such
13-
as in-operatability with debuggers (launchmon), difficult to use
14-
(hostbin), or of limited scope (serial). In the ideal case Spindle
15-
should be integrated directly into a job launcher, which can easily
16-
perform the necessary actions of starting the servers, managing the job
12+
hostbin, slurm, LSF, and serial as of v0.13), each of these has
13+
disadvantages such as in-operatability with debuggers (launchmon),
14+
difficult to use (hostbin), or of limited scope (serial). In the ideal
15+
case Spindle should be integrated directly into a job launcher, which can
16+
easily perform the necessary actions of starting the servers, managing the job
1717
lifetime, and helping Spindle establish connections. This document
1818
describes the API for integrating Spindle into job launchers.
1919

@@ -113,6 +113,15 @@ we have to break ABI compatibility.
113113
high-latency networks.
114114
- 'OPT_BEEXIT' - Spindle will block its exit until each BE has
115115
had 'spindleExitBE()' called on it.
116+
- 'OPT_PROCCLEAN' - Spindle will launch a dedicated process to do
117+
cleaning operations for after spindle exits. Can be useful for
118+
ensuring cleaning happens in less-stable environments.
119+
- 'OPT_RSHLAUNCH' - When mixed with compatible launch modes, spindle
120+
will start its daemons with a tree of RSH/SSH commands. Enabling
121+
this mode means you don't have to manually start the BE with
122+
`spindleRunBE()`. Whether the daemons are launched via ssh or rsh
123+
can be controlled through command arguments, configure, or an
124+
environment variable (SPINDLE_RSH).
116125

117126
- `typedef struct { ... } spindle_args_t`
118127

@@ -290,6 +299,21 @@ of hostnames used in the job. The FE API functions are:
290299

291300
This function return 0 on success and non-0 on error.
292301

302+
- `pid_t getRSHPidFE()`
303+
304+
If the spindle FE is initialized with OPT_RSHLAUNCH set, then the
305+
spindle daemons will be launched with a tree of RSH processes.
306+
This function will return the pid of the rsh command at the top
307+
of the tree. This process will exit when Spindle shuts down.
308+
309+
- `markRSHPidReapedFE()`
310+
311+
This function should be called if the spindle FE was initialized
312+
with OPT_RSHLAUNCH, and the RM collects the rsh pid (via waitpid
313+
or wait) for spinlde. If this function hasn't been been called then
314+
Spindle will try to collect the RSH process in spindleCloseFE(), which
315+
could lead to hangs if the process has already been collected.
316+
293317
The BackEnd API
294318
---------------
295319

src/client/configure

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for spindle 0.12.
3+
# Generated by GNU Autoconf 2.69 for spindle 0.13rc1.
44
#
55
# Report bugs to <[email protected]>.
66
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
590590
# Identity of this package.
591591
PACKAGE_NAME='spindle'
592592
PACKAGE_TARNAME='spindle'
593-
PACKAGE_VERSION='0.12'
594-
PACKAGE_STRING='spindle 0.12'
593+
PACKAGE_VERSION='0.13rc1'
594+
PACKAGE_STRING='spindle 0.13rc1'
595595
PACKAGE_BUGREPORT='[email protected]'
596596
PACKAGE_URL=''
597597

@@ -1368,7 +1368,7 @@ if test "$ac_init_help" = "long"; then
13681368
# Omit some internal or obsolete options to make the list less imposing.
13691369
# This message is too long to be a string in the A/UX 3.1 sh.
13701370
cat <<_ACEOF
1371-
\`configure' configures spindle 0.12 to adapt to many kinds of systems.
1371+
\`configure' configures spindle 0.13rc1 to adapt to many kinds of systems.
13721372
13731373
Usage: $0 [OPTION]... [VAR=VALUE]...
13741374
@@ -1439,7 +1439,7 @@ fi
14391439

14401440
if test -n "$ac_init_help"; then
14411441
case $ac_init_help in
1442-
short | recursive ) echo "Configuration of spindle 0.12:";;
1442+
short | recursive ) echo "Configuration of spindle 0.13rc1:";;
14431443
esac
14441444
cat <<\_ACEOF
14451445
@@ -1587,7 +1587,7 @@ fi
15871587
test -n "$ac_init_help" && exit $ac_status
15881588
if $ac_init_version; then
15891589
cat <<\_ACEOF
1590-
spindle configure 0.12
1590+
spindle configure 0.13rc1
15911591
generated by GNU Autoconf 2.69
15921592
15931593
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1865,7 +1865,7 @@ cat >config.log <<_ACEOF
18651865
This file contains any messages produced by compilers while
18661866
running configure, to aid debugging if configure makes a mistake.
18671867
1868-
It was created by spindle $as_me 0.12, which was
1868+
It was created by spindle $as_me 0.13rc1, which was
18691869
generated by GNU Autoconf 2.69. Invocation command line was
18701870
18711871
$ $0 $@
@@ -2840,7 +2840,7 @@ fi
28402840

28412841
# Define the identity of the package.
28422842
PACKAGE='spindle'
2843-
VERSION='0.12'
2843+
VERSION='0.13rc1'
28442844

28452845

28462846
cat >>confdefs.h <<_ACEOF
@@ -13566,7 +13566,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1356613566
# report actual input values of CONFIG_FILES etc. instead of their
1356713567
# values after options handling.
1356813568
ac_log="
13569-
This file was extended by spindle $as_me 0.12, which was
13569+
This file was extended by spindle $as_me 0.13rc1, which was
1357013570
generated by GNU Autoconf 2.69. Invocation command line was
1357113571
1357213572
CONFIG_FILES = $CONFIG_FILES
@@ -13632,7 +13632,7 @@ _ACEOF
1363213632
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1363313633
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1363413634
ac_cs_version="\\
13635-
spindle config.status 0.12
13635+
spindle config.status 0.13rc1
1363613636
configured by $0, generated by GNU Autoconf 2.69,
1363713637
with options \\"\$ac_cs_config\\"
1363813638

src/fe/configure

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for spindle 0.12.
3+
# Generated by GNU Autoconf 2.69 for spindle 0.13rc1.
44
#
55
# Report bugs to <[email protected]>.
66
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
590590
# Identity of this package.
591591
PACKAGE_NAME='spindle'
592592
PACKAGE_TARNAME='spindle'
593-
PACKAGE_VERSION='0.12'
594-
PACKAGE_STRING='spindle 0.12'
593+
PACKAGE_VERSION='0.13rc1'
594+
PACKAGE_STRING='spindle 0.13rc1'
595595
PACKAGE_BUGREPORT='[email protected]'
596596
PACKAGE_URL=''
597597

@@ -1402,7 +1402,7 @@ if test "$ac_init_help" = "long"; then
14021402
# Omit some internal or obsolete options to make the list less imposing.
14031403
# This message is too long to be a string in the A/UX 3.1 sh.
14041404
cat <<_ACEOF
1405-
\`configure' configures spindle 0.12 to adapt to many kinds of systems.
1405+
\`configure' configures spindle 0.13rc1 to adapt to many kinds of systems.
14061406

14071407
Usage: $0 [OPTION]... [VAR=VALUE]...
14081408

@@ -1473,7 +1473,7 @@ fi
14731473

14741474
if test -n "$ac_init_help"; then
14751475
case $ac_init_help in
1476-
short | recursive ) echo "Configuration of spindle 0.12:";;
1476+
short | recursive ) echo "Configuration of spindle 0.13rc1:";;
14771477
esac
14781478
cat <<\_ACEOF
14791479

@@ -1637,7 +1637,7 @@ fi
16371637
test -n "$ac_init_help" && exit $ac_status
16381638
if $ac_init_version; then
16391639
cat <<\_ACEOF
1640-
spindle configure 0.12
1640+
spindle configure 0.13rc1
16411641
generated by GNU Autoconf 2.69
16421642

16431643
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2127,7 +2127,7 @@ cat >config.log <<_ACEOF
21272127
This file contains any messages produced by compilers while
21282128
running configure, to aid debugging if configure makes a mistake.
21292129

2130-
It was created by spindle $as_me 0.12, which was
2130+
It was created by spindle $as_me 0.13rc1, which was
21312131
generated by GNU Autoconf 2.69. Invocation command line was
21322132

21332133
$ $0 $@
@@ -3102,7 +3102,7 @@ fi
31023102

31033103
# Define the identity of the package.
31043104
PACKAGE='spindle'
3105-
VERSION='0.12'
3105+
VERSION='0.13rc1'
31063106

31073107

31083108
cat >>confdefs.h <<_ACEOF
@@ -17959,7 +17959,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1795917959
# report actual input values of CONFIG_FILES etc. instead of their
1796017960
# values after options handling.
1796117961
ac_log="
17962-
This file was extended by spindle $as_me 0.12, which was
17962+
This file was extended by spindle $as_me 0.13rc1, which was
1796317963
generated by GNU Autoconf 2.69. Invocation command line was
1796417964

1796517965
CONFIG_FILES = $CONFIG_FILES
@@ -18025,7 +18025,7 @@ _ACEOF
1802518025
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1802618026
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1802718027
ac_cs_version="\\
18028-
spindle config.status 0.12
18028+
spindle config.status 0.13rc1
1802918029
configured by $0, generated by GNU Autoconf 2.69,
1803018030
with options \\"\$ac_cs_config\\"
1803118031

src/server/auditserver/ldcs_audit_server_filemngt.c

-1
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,6 @@ int filemngt_write_ldsometadata(char *localname, ldso_info_t *ldsoinfo)
457457
static int filemngt_read_buffer(char *localname, char *buffer, size_t size)
458458
{
459459
int result, bytes_read, fd, error;
460-
int eexist_count = 3;
461460

462461
fd = open(localname, O_RDONLY);
463462
if (fd == -1) {

0 commit comments

Comments
 (0)