/NEWS

https://code.google.com/ · #! · 384 lines · 352 code · 32 blank · 0 comment · 0 complexity · 9a18651556cd41ad611fe1742aa1ff56 MD5 · raw file

  1. This file describes changes in recent versions of pdsh. It primarily
  2. documents those changes that are of interest to users and admins.
  3. * Changes in pdsh-2.28 (2011-10-19)
  4. ===================================
  5. -- Fix issue 39: ssh forces use of -l<user> option
  6. -- Fix issue 40: -l%u added to ssh args only if remote and local
  7. usernames differ
  8. -- testsuite: Added tests for -l%u handing in ssh
  9. * Changes in pdsh-2.27 (2011-09-07)
  10. ===================================
  11. -- Fix issue 17: Allow dshgroup files to include other files
  12. -- Fix issue 33: dshbak breaks up host lists at zeropad boundaries,
  13. (e.g. 01-09,10-11, 010-099,100-101, etc.)
  14. -- Fix issue 34: dshgroup path override broken in ./configure
  15. -- Fix issue 36: pdsh truncates output lines at 8K
  16. -- dshgroup: Allow dshgroup search path to be overridden by DSHGROUP_PATH,
  17. a colon-separated list of directories to search. $HOME/.dsh/group
  18. is still always prepended to this path.
  19. -- Allow wcoll files (-w ^file and WCOLL=file) to include other files
  20. with a "#include FILE" syntax. If included files have no path, then
  21. a search path of the dirname of the included file ("." for stdin)
  22. is used.
  23. -- testsuite: added tests, fixed some portability issues.
  24. -- Fix some minor memory leaks and locking bugs reported by Coverity.
  25. * Changes in pdsh-2.26 (2011-04-29)
  26. ===================================
  27. -- Fix issue 14: interactive mode broken with ssh
  28. -- Fix issue 19: missing commas in dshbak(1) header output
  29. -- Fix issue 20: compilation error in genders.c with non-GCC compilers
  30. -- Fix issue 23: compilation failure with --enable-static-modules
  31. -- Fix issue 24: don't arbitrarily limit usernames to 16 characters
  32. -- Fix issue 25: PDSH_SSH_ARGS should not require %u and %h
  33. -- Fix issue 26: document use of %u and %h in PDSH_SSH_ARGS
  34. -- Fix interactive mode with rcmd/exec.
  35. -- genders: do not look for genders_query(3) support at runtime,
  36. as this causes too many problems on some systems. Instead,
  37. use autoconf to include or exclude genders_query support from
  38. the genders module. (fixes Issue 1)
  39. -- Fix build on AIX
  40. -- Add -Wl,-E to LDFLAGS on HP-UX (Issue 18)
  41. -- Fixes for testsuite portability (Issues 15, 22, 28)
  42. * Changes in pdsh-2.25 (2011-03-09)
  43. ===================================
  44. -- Fix pdcp breakage with ssh (bug introduced in pdsh-2.24).
  45. (Resolves issue 12: pdcp executes file instead of copying.)
  46. -- testsuite: Skip tests dependent on PDSH_MODULE_DIR when testsuite
  47. run as root (Resolves issue 13: testsuite broken when run as root).
  48. -- testsuite: Skip dshbak -d test to non-writable directory when
  49. directory permissions do not seem to apply (e.g. privileged user).
  50. (Possibly resolves issue 11: tests fail on Mac OSX under fink)
  51. -- testsuite: add simple ssh tests.
  52. * Changes in pdsh-2.24 (2011-02-28)
  53. ===================================
  54. -- Resolve issue 7: Allow PDSH_REMOTE_PDCP_PATH to set default path
  55. to remote pdcp program (pdcp -e).
  56. -- Resolve issue 9: Fix use of PDSH_SSH_ARGS_APPEND.
  57. -- Resolve issue 10: dshbak: Support writing output to file-per-host.
  58. Adds new -d DIR and -f options to dshbak.
  59. -- genders: Allow relative paths to genders files with -F and
  60. PDSH_GENDERS_FILE.
  61. -- genders: Don't print an error if genders file is missing, unless
  62. a genders optin (-F, -a, -g, -i, -X) is explicitly used.
  63. -- genders: Allow -g to be used with other node selection options as
  64. a filter. For example: pdsh -w host[0-1024] -g attr1 ...
  65. -- ssh: Better preservation of remote command args in ssh module.
  66. Previous versions of pdsh would alwas collapse all args into
  67. a single argument passed to ssh: "cmd arg1 arg2 ..." With this
  68. fix the argv list will more closely match the form passed to pdsh.
  69. -- Refactored large portions of dshbak, improve usage output,
  70. and update manpage.
  71. -- Expanded testsuite.
  72. * Changes in pdsh-2.23 (2010-10-22)
  73. ===================================
  74. -- Fix issue 4: List available but conflicting modules in -V and -L output.
  75. -- Fix issue 5: dshbak -c doesn't properly coalesce hosts with different
  76. zero-padding in the numeric suffix.
  77. -- Added torque module for setting list of target hosts based on Torque/PBS
  78. jobs (Issue 2).
  79. -- Enhance syntax of -w and -x to allow preceeding arguments with:
  80. `-' - Exclude hosts instead of include with -w ( -w foo[1-9],-foo8)
  81. `^' - insert/exclude list of hosts from a file (^/path/to/file)
  82. `/' - filter hosts based on regex (/host.*0$/)
  83. -- Introduce new pdsh testsuite with many new tests. See tests/README
  84. for more information.
  85. * Changes in pdsh-2.22 (2010-09-03)
  86. ===================================
  87. -- Fixes several bugs introduced in pdsh-2.21, Including:
  88. - genders: segfault when genders file doesn't exist
  89. - Failure to initialize some modules if others conflict
  90. - -M option doesn't work in some cases
  91. -- Sort modules by name before initialization so that modules
  92. initialize in a reproducible order.
  93. * Changes in pdsh-2.21 (2010-09-02)
  94. ===================================
  95. -- New option -M name,... forces load of misc modules by
  96. name, thus allowing users to select between conflicting
  97. modules. (PDSH_MISC_MODULES environment variable may
  98. also be used)
  99. -- Due to above, an error is no longer printed when module
  100. options conflict.
  101. -- genders: Support PDSH_GENDERS_FILE environment variable to
  102. override default genders file name (default = "genders")
  103. -- genders: Support PDSH_GENDERS_DIR environment variable to
  104. override default directory for genders files (default = /etc).
  105. -- genders: Allow non-absolute path to be specified to -F option.
  106. -- Fix parsing of hostlist expressions with multiple brackets
  107. (from SF.net user don.fanucci)
  108. -- Fix compile error on platforms where setnetgrent() doesn't
  109. return an int.
  110. -- Allow path to dshgroup files to be specified to ./configure
  111. with --with-dshgroups=PATH.
  112. -- Update libltdl
  113. * Changes in pdsh-2.20 (2009-09-29)
  114. ===================================
  115. -- Fix bug in pdcp which serialized copy of files to nodes
  116. regardless of fanout.
  117. * Changes in pdsh-2.19 (2009-05-21)
  118. ===================================
  119. -- New pdsh configure option --with-rcmd-rank-list allows
  120. the default pdsh rcmd module priority list to be overridden
  121. at compile time.
  122. -- genders: Always read genders file in case there are any
  123. pdsh_rcmd_type attributes to apply to the target hosts.
  124. -- genders: Fix bug where altnames were not used by default
  125. in some cases due to a bug in generic module loading code.
  126. (patch from Py Watson)
  127. -- Fix for coredump when no rcmd module is loaded.
  128. (patch from Py Watson)
  129. -- %{_libdir}/pdsh should be owned by pdsh RPM.
  130. (patch from Py Watson)
  131. * Changes in pdsh-2.18 (2009-03-24)
  132. ===================================
  133. -- Fix duplicate error output from ssh module.
  134. (Patch from Paul D Smith <psmith at users.sourceforge.net>)
  135. -- Add -e option to pdcp to explicitly specify remote execution path.
  136. This is necessary if pdcp is installed in a different path locally
  137. than on the target hosts.
  138. -- Fix recursive pdcp (-r) which has been broken since pdsh-2.12.
  139. -- Support --without-ssh-connect-timeout-option for ./configure.
  140. -- Add note to pdsh(1) manpage that only very old versions of
  141. the genders nodeattr script are supported by the pdsh nodeattr
  142. module. The genders module is the preferred interface to genders.
  143. * Changes in pdsh-2.17 (2008-09-23)
  144. ===================================
  145. -- Ignore multiple consecutive ':' characters in host list argument to
  146. -w option. Only a single ':' by itself will be interpreted as the
  147. special "rcmd_type:hosts" syntax.
  148. -- dshbak: Allow for ':' in pdsh output lines.
  149. (patch from Ashley Pittman)
  150. -- Fix for compile against glibc 2.8, which no longer defines ARG_MAX
  151. (patch from Tom 'spot' Callaway via sf.net).
  152. -- Include missing unistd.h in hostlist.h.
  153. (patch from Ashley Pittman)
  154. -- Fix compile on Solaris by updating to latest ACX_PTHREAD autoconf
  155. macro from autoconf-archive.cryp.to.
  156. * Changes in pdsh-2.16 (2008-03-19)
  157. ===================================
  158. -- Don't attempt to read WCOLL file unless no other host
  159. selection method is utilized.
  160. -- (genders) Don't attempt to read a genders file if no genders
  161. options are used.
  162. -- When specifying rcmd_type via -w (i.e. [rcmd_type:][user@]host)
  163. have rcmd_type apply across all hosts until the next rcmd
  164. specification. That is ssh:host1,host2 now uses ssh for both
  165. host1 and host2. Prior to this change, ssh would only be used
  166. to contact host1. Same change for [user].
  167. -- Check for valid fanout specified to -f option.
  168. -- Always sort output of dshbak, and remove dshbak -s option.
  169. -- Strip leading space (added by pdsh) from dsbak output.
  170. * Changes in pdsh-2.15 (2007-10-24)
  171. ===================================
  172. -- Refactor ssh module to use built in "pipecmd" support
  173. (same code as the "exec" module)
  174. -- Add connect timeout support for ssh implementations which support it.
  175. By default, the OpenSSH "-oConnectTimeout=%d" option is used. This
  176. can be overridden at configure time using
  177. --with-ssh-connect-timeout-option="OPTION"
  178. where OPTION should contain one %d which will be expanded to the
  179. actual timeout value specified on the command line.
  180. -- Add ncurses-devel to pdsh.spec BuildRequires.
  181. * Changes in pdsh-2.14 (2007-06-22)
  182. ===================================
  183. -- Fix compile error in src/pdsh/mod.c when using --enable-static-modules.
  184. -- Allow conditional and static build of "exec" rcmd module.
  185. -- (slurm) Re-order headers in slurm module to avoid redefinition
  186. of pdsh bool type.
  187. * Changes in pdsh-2.13 (2007-06-06)
  188. ===================================
  189. -- New "exec" rcmd module for executing arbitrary commands.
  190. (Thanks to Christopher Maestas <cdmaest at sandia dot gov>
  191. for the idea.)
  192. -- New -N option to disable hostname: prefix on lines of output.
  193. -- dshbak: Allow host range compression for numerically keyed hosts
  194. which have non-numeric suffix.
  195. -- Fix for compilation problem on some machines for sshcmd.c.
  196. -- Fix for erroneous command timeouts with ssh due to stray signals.
  197. -- Fix handling of empty lines when parsing WCOLL files.
  198. * Changes in pdsh-2.12 (2006-12-11)
  199. ===================================
  200. -- Fix Solaris build.
  201. -- New command rpdcp(1) ("reverse" pdcp) copies files from remote
  202. hosts to the local machine (with remote hostname appended).
  203. -- Do not truncate host domain in output labels if any domains differ.
  204. -- (genders) Default user name may be specified to pdsh_rcmd_type attr
  205. by prepending "user@".
  206. -- (slurm) `-j' "all" parameter to target all nodes running SLURM jobs.
  207. -- (slurm) Fix for build issue against slurm-1.0.
  208. -- Minor code cleanup.
  209. -- Minor RPM spec file cleanup.
  210. * Changes in pdsh-2.11 (2006-07-26)
  211. ===================================
  212. -- Fix for WCOLL file contents unconditionally added to host list.
  213. Prior behavior was to have -w override WCOLL.
  214. -- Supply more specific errors when pdsh detects that the path to
  215. pdsh modules is insecure.
  216. -- Fix man page typos.
  217. -- Fix compile for Tru64.
  218. -- (xcpu) Use lexec facility.
  219. -- New dshbak -s option to sort output.
  220. -- Allow users to cancel pending threads by issuing ctrl-C ctrl-Z
  221. (ctrl-Z within one second of initial ctrl-C). Pending threads
  222. are those threads which have not yet invoked a remote command.
  223. * Changes in pdsh-2.10 (2006-03-22)
  224. ===================================
  225. -- Fix for -w hosts parsing bug.
  226. -- Fix missing support for "-w user@hosts" in pdsh-2.9.
  227. -- Add support for command history in interactive mode with readline.
  228. Command history file is ~/.pdsh/history.
  229. -- (xcpu) Support for signals and -S.
  230. * Changes in pdsh-2.9 (2006-03-15)
  231. ===================================
  232. -- Add netgroup module which provides -g/-X groupname option to read
  233. list of hosts from netgroup entries (/etc/netgroup or NIS).
  234. -- Add support for specifying alternate rcmd connection type and/or
  235. remote username for a subset of hosts on the commandline. Format
  236. is ``-w [rcmd_type:][user@]hosts...''
  237. -- (genders) Add support for pdsh_rcmd_type genders attribute to set
  238. the default rcmd connection type for certain hosts via the genders
  239. database.
  240. -- Add a trivial form of privilege separation to pdsh when pdsh or pdcp
  241. binaries are installed setuid root. This is necessary to safely support
  242. multiple rcmd connection methods in a single invocation of pdsh.
  243. Currently, the privileged process in pdsh is only used to serve reserved
  244. ports to threads that need it (e.g. rsh, qsh), while allowing all threads
  245. to still run as the "user" to support ssh and mrsh. This is *not*
  246. a security enhancement, and doesn't make installing pdsh setuid root
  247. any more secure.
  248. -- (ssh) Allow arguments to ssh command to be overridden and augmented
  249. with environment variables PDSH_SSH_ARGS and PDSH_SSH_ARGS_APPEND.
  250. -- Fix for race condition in ssh support which caused occasional pdsh
  251. hang, especially when running with a larger fanout.
  252. -- Fix for ``-x hosts'' processing bug: occasionally hosts provided to
  253. -x option would not be removed from the list of targets because the
  254. list of excluded hosts was being processed too early.
  255. -- Fixes for Mac OSX support: Update libtool/ltmain.sh and test for
  256. and include sys/uio.h.
  257. -- Add support for LANL XCPU.
  258. * Changes in pdsh-2.8 (2005-10-13)
  259. ===================================
  260. -- (dshgroup) Fix bug in dshgroup module which resulted in the module
  261. trying to read only from ~/.dsh/group/ even if /etc/dsh/group/
  262. should have been used. (patch from Joe Ramey <ramey@it.com>)
  263. -- Print error strings returned by remote RCP server instead of generic
  264. "Failed to initiate RCP protocol."
  265. -- Allow hostlist expressions to have suffixes (e.g. foo[0-10]-bar).
  266. -- Fix for command timeout when its value is less than connect timeout.
  267. -- (ssh) Remove ssh_reaper thread and instead reap child ssh processes
  268. within each thread spawned by pdsh. This fixes reported problem
  269. under LinuxThreads.
  270. -- (sdr) Fix assertion failure if host_responds info exists in SDR
  271. for a node number that doesn't exist in Node class.
  272. * Changes in pdsh-2.7 (2005-08-15)
  273. ===================================
  274. -- Add dshgroup module which adds -g/-X groupname to utilize dsh-style
  275. "group" files in ~/.dsh/group/groupname || /etc/dsh/group/groupname.
  276. -- Fix possible truncation of output when poll() returns POLLHUP before
  277. all data has been read.
  278. -- Close pdsh file descriptors opened to ssh commands before invoking
  279. subsequent ssh connections to fix possible pdsh hang with -Rssh.
  280. -- Replace setenv() & seteuid() with putenv() & setuid() for portability.
  281. -- Module path elements now considered secure if they have same ownership
  282. as pdsh binary (as well as either root or current user). Allows pdsh
  283. to be installed with other than root ownership.
  284. * Changes in pdsh-2.6 (2005-08-02)
  285. ===================================
  286. -- (ssh) Fix pdcp hang with ssh on HP-UX (and possibly other systems).
  287. (Yehia Beyh <Yehia.Beyh@hp.com>)
  288. -- Remove pdcp debugging code released with pdsh-2.5.
  289. * Changes in pdsh-2.5 (2005-07-21)
  290. ===================================
  291. -- (ssh) Added ssh "reaper" thread to collect exit status of ssh commands
  292. invoked by pdsh. At the end of the pdsh or pdcp run, any non-zero
  293. exit status from ssh will be written to stderr instead of silently
  294. ignored.
  295. -- (genders) Added genders "query" support for genders versions that
  296. support this functionality. (Al Chu <chu11@llnl.gov>)
  297. -- (ssh) Fix for a possible pdsh hang when running with ssh on Mac OS X.
  298. -- (qshell) Fix for m/qshd failure on nodes without an elan3 adapter.
  299. (Daniel Blueman <daniel.blueman@quadrics.com>)
  300. -- Update path to xinetd script in pdsh specfile (Daniel Blueman).
  301. -- Don't increase number of open files rlimit until after rcmd modules
  302. are initialized in case rcmd module increases fanout.
  303. -- Don't consider directory permissions insecure when other has write
  304. access if the sticky bit is set.
  305. * Changes in pdsh-2.4 (2004-12-08)
  306. ===================================
  307. -- (mrsh) Update to mrsh protocol version 2.1, provided by mrsh >= 2.3.
  308. This version of the protocol allows connections over "localhost."
  309. * Changes in pdsh-2.3 (2004-11-22)
  310. ===================================
  311. -- Support copying files >2GB in pdcp.
  312. -- Increase max number of open files to the hard limit if
  313. a large fanout is requested.
  314. * Changes in pdsh-2.2 (2004-07-30)
  315. ===================================
  316. -- Do not abort when excluded hosts are not within the target list.
  317. -- (slurm) Allow multiple SLURM jobids to be passed to -j option.
  318. * Changes in pdsh-2.1 (2004-06-09)
  319. ===================================
  320. -- Fix dshbak script to allow whitespace in hostname "tags"
  321. (Ashley Pittman <ashley@quadrics.com>).
  322. -- Fix broken QsNet support on Elan3 systems without libelanctrl.
  323. -- Explicitly set thread stack size to 128K to avoid arbitrarily
  324. large stack set from current rlimit under Linux/NPTL.
  325. * Changes in pdsh-2.0 (2004-05-26)
  326. ===================================
  327. -- Reorganized pdsh source tree.
  328. -- Modularized pdsh functionality into dynamic runtime "modules."
  329. - Moved remote command api (e.g. rsh, ssh, etc.) into "rcmd" modules.
  330. - New pdsh option `-R' for selection of rcmd type at runtime.
  331. - All other optional functionality moved into "misc" modules (e.g. genders).
  332. - See README.modules in pdsh distribution for more information.
  333. -- Package core pdsh functionality and pdsh modules separately in order to
  334. make pdsh installation much more flexible.
  335. -- Removed pdsh dependency on rcp. Rcp server code used by pdsh is now
  336. coded directly into pdcp. (Note: This means pdcp *must* be installed
  337. on all target nodes)
  338. -- Added mrsh and mqshell client modules, as well as mqshd server for Munge
  339. authenticated rcmd() support.
  340. -- Added SLURM module to build list of targets from SLURM allocations.
  341. -- (genders) Added "-X" option to exclude targets based on genders attributes.
  342. -- (genders) Multiple attributes may now be passed to "-g" and "-X."
  343. -- (genders) "-a" renamed to "-A" -- "-a" now skips any nodes in genders
  344. database with "pdsh_all_skip" attribute.
  345. -- (genders) New "-F" option to specify non-default genders file.
  346. -- QsNet support now requires "/etc/elanhosts" config file (see README.QsNet).
  347. -- QsNet support includes support for QSW elanctrl interface. (Elan3/Elan4)
  348. -- Added support for running Elan network error resolver thread in qshd/mqshd.
  349. (Elan3 only)
  350. -- Nominal support for Elan multirail jobs (largely untested). See
  351. qshell and mqshell `-r railmask' option.
  352. $Id$