List view
- No due date•14/14 issues closed
- No due date•17/17 issues closed
- No due date•10/10 issues closed
- No due date•18/18 issues closed
- No due date•3/3 issues closed
- No due date•12/12 issues closed
- No due date•9/13 issues closed
- No due date•34/34 issues closed
- No due date•9/9 issues closed
- No due date•14/14 issues closed
- No due date•15/15 issues closed
Full Python 3 support and more.
Due by October 31, 2017•23/23 issues closed- No due date•62/62 issues closed
Version 1.6 will include significant NodeSet/RangeSet performance improvement, along with other small improvements and fixes. It will also include the scalable execution code (tree-based propagation) as a technology preview (disabled by default).
No due date•18/18 issues closed= Notes = ''Updated for version '''1.5.1''''' == Library == === NodeSet specific === * added a workaround to allow pickling of RangeSet object for Python 2.4 ''[1.5.1 #156]''
No due date•1/1 issues closed= Notes = ''Updated for version '''1.5''''' == Tools == === {{{clush}}} === * fixed {{{clush -c}}} issue when an user is specified (scp -l limit option problem) ''[1.5 #152]'' === {{{clubak}}} === * {{{clubak}}} speedup, new {{{--fast}}} option (memory hungry) ''[1.5 #131]'' === {{{nodeset}}} === * fixed issue: autostep option ignored ''[1.5 #150]'' == Library == === General === * '''subprocess creation optimizations''' ''[1.5 #153]'' * improved {{{MsgTree}}} to lighten updates of keys associated to tree elements ''[1.5 #131/r507]'' * fixed scp -l limit option problem in Ssh worker ''[1.5 #152]'' == Documentation == * Fixed manpage error - spelling mistake in clush.1 ''[1.5 #151]''
No due date•6/6 issues closed= Notes = == Tools == === {{{clush}}} === * Fixed {{{clush -bL}}} traceback ''[1.4.3 #147]'' === {{{nodeset}}} === * Fixed issue with stdin '-' keyword used with operation ''[1.4.3 #148]'' See also [milestone:1.4.2 1.4.2 notes].
No due date•2/2 issues closed= Notes = == Tools == === {{{clush}}} === * Implemented {{{clush -L}}} (not {{{-bL}}}) to order output by nodename, like {{{clubak -L}}} ''[1.4.2 #141]'' * Improved -v switch ''[1.4.2 #100]'', also with {{{--[r]copy}}} to display copied elements * Added running progress indicator for {{{--[r]copy}}} commands. === {{{clubak}}} === * Added {{{-T,--tree}}} message tree mode option ''[1.4.2 #144]'' === {{{nodeset}}} === * Added {{{-ll}}} and {{{-lll}}} extended options to list corresponding group nodes, and also group node count ''[1.4.2 #143]'' * Removed pending limitation when using {{{-[ixX]}}} operations with nodesets specified by {{{-a}}} (all) or through stdin. * Added {{{-I/--slice}}} command option to select node(s) by index(es) or RangeSet-style slice ''[1.4.2 #140]'' == Library == === General === * MsgTree class initialization variant (trace mode) to keep track of old keys/nodes for each message ''[1.4.2 part of #144]'' === NodeSet specific === * Fixed issue when using negative index or negative slice indices for RangeSet and NodeSet ''[1.4.2 r473]'' * Fixed issue with RangeSet and NodeSet in-place operators as they were returning {{{None}}} ''[1.4.2 r474]'' * Internal changes to use slice type to represent ranges in RangeSet. Changed {{{RangeSet.add_range()}}} 'stop' argument semantic, it is now conforming to {{{range()}}}'s one. * Added {{{RangeSet.slices()}}} method. * Fixed issues with objects copying, so got rid of copy module and added optimized {{{RangeSet.copy()}}} and {{{NodeSet.copy()}}} methods ''[1.4.2 #146]''
No due date•6/6 issues closed= Notes = == Tools == === {{{clush}}} === * Add {{{fd_max}}} integer parameter to clush.conf to set the max number of open files (soft limit) permitted per clush process (default=16384). This will fix an issue on systems where hard limit is not reasonable. ''[1.4.1 r462]'' * Bugfix: Ctrl-C and "stdout_msgtree not set" exception raised with {{{-bL}}} ''[1.4.1 beta0 #133]'' * Bugfix: issue when executing local command with clush -b in interactive mode (eg. {{{!uname}}}) ''[1.4.1 beta0 r450]'' * Allow {{{clush}}} to run without argument when stdin is not a tty, by disabling ssh pseudo-tty allocation. You can now type {{{`echo uname | clush -w <nodes>`}}} ''[1.4.1 beta0 #134]'' * Do not display exit code when {{{-qS}}} is specified ''[1.4.1 beta0 #117]'' === {{{clubak}}} === === {{{nodeset}}} === == Library == === General === * New [http://docs.python.org/library/select.html#select.select select.select()]-based engine , adding more supported OS (like Mac OS X) ''[1.4.1 beta0 #8]'' * Local variables optimization and removed some indirect calls for performance purpose ''[1.4.1 beta0, part of #131]'' * {{{Worker/Ssh.py}}}: fixed issue when more than one ssh options are specified ''[1.4.1 beta0 #138]'' * {{{Worker/Worker.py}}}: define new {{{current_node}}}, {{{current_msg}}}, {{{current_errmsg}}} and {{{current_rc}}} {{{Worker}}} variables, updated at each event ({{{last_read()}}}, {{{last_node()}}} and {{{last_retcode()}}} methods will be deprecated starting from version 2.0) ''[1.4.1 beta0 #137]'' === NodeSet specific ===
No due date•8/8 issues closed= Notes = ''Updated for version '''1.4''''' == Tools == === {{{clush}}} === * added additional node count in brackets in buffer header (with -b/-B) ''[1.4 beta1 #130]'' * added {{{--rcopy}}} (reverse copy) support ''[1.4 beta0 #55]'' * fixed issue when launched in background (with &) ''[1.4 beta0 #114]'' * modified the way stdin is handled in {{{clush}}} to be able to block stdin reads and also to allow the use of the epoll engine ''[1.4 beta0, part of #56]'' === {{{clubak}}} === === {{{nodeset}}} === * new {{{nodeset --split=}}}''N'' option ''[1.4 beta0 #91]'' == Library == === General === * re-enabled automatic selection for epoll-based engine (Engine.EPoll) ''[1.4 beta0 #56]'' * added {{{Worker.abort()}}} to abort a specific worker at any time ''[1.4 beta0 #63]'' * {{{WorkerBadArgumentError}}} replaced by {{{ValueError}}} when using wrong parameter in worker constructors, and added proper exception message in each worker ''[1.4 beta0 r379]'' * added {{{Task.run()}}} helper ''[1.4 beta0 r376]'' === NodeSet specific === * Performance optimisation
No due date•13/13 issues closed- Due by January 1, 1970•3/3 issues closed
= Notes = ''Updated for version '''1.3.1'''.'' == Tools == === {{{clush}}} === * fixed issue: Broken {{{clush -l user}}} ''[1.3.1 #113]'' === {{{clubak}}} === ''no change between 1.3 and 1.3.1'' === {{{nodeset}}} === ''no change between 1.3 and 1.3.1'' == Library == === General === * fixed missing attribute '{{{last_errmsg}}}' in {{{WorkerPopen}}} ''[1.3.1 #107]'' * pydoc on {{{Task.timer()}}}: document the autoclose feature ''[1.3.1 #109]'' * fixed issue: {{{Task.timer()}}} returns {{{None}}} when called from another thread ''[1.3.1 #112]'' === NodeSet specific === ''no change between 1.3 and 1.3.1''
No due date•4/4 issues closed= Notes = ''Updated for version '''1.3''' (final).'' == Tools == === {{{clush}}} === * centralized handling of exceptions raised in main/task threads ''[1.3 RC1 #93]'' * check for trailing args presence when using {{{-c/--copy}}} ''[1.3 beta6 #88]'' * added {{{--color={never,always,auto}}}} command line option and {{{color: {never,always,auto}}}} config option, defaulting to {{{never}}} ''[1.3 beta5 #68]'' * automatically increase open files soft limit and handle "Too many open files" exception ''[1.3 beta5 #61]'' * do not wait the end of all commands when using -bL switches when possible (live per line gathering display) ''[1.3 beta4 #69]'' * improved {{{-g groups}}} and {{{-X excludegroups}}} in order to support group ranges (without '{{{@}}}') ''[1.3 beta3 #82]'' * added {{{--regroup, -r}}} to display nodeset with node groups when possible, and {{{-s GROUPSOURCE}}} to select external group namespace ''[1.3 beta1 #41, improved in 1.3 beta2 #76]'' * improved user interaction when all/group upcalls are not setup ''[1.3 beta1 #70]'' === {{{clubak}}} === * merged display changes made on {{{clush}}} to {{{clubak}}}, including {{{"--color={never,always,auto}"}}} ''[1.3 RC1 #89]'' * added {{{--regroup, -r}}} support to clubak ''[1.3 beta2 #78]'' * added {{{--S}}} to specify user settable separator string ''[1.3 beta2 #62]'' === {{{nodeset}}} === * added {{{--all, -a}}} support (also work is {{{-s GROUPSOURCE}}} (warning: please now use --autostep and not -a to change autostep value) ''[1.3 beta2]'' * added {{{--regroup, -r}}} to display nodeset with node groups when possible, and {{{-s GROUPSOURCE}}} to optionally select external group namespace ''[1.3 beta1 part of #41]'' == Library == === General === * raise proper {{{KeyError}}} exception in {{{Task.key_retcode(key)}}} if ''key'' is not found ''[1.3 RC1 #102]'' * added handling of stderr (when needed) during worker files copying, eg. for {{{task.copy()}}} ''[1.3 beta6]'' * added {{{flush_buffers()}}} and {{{flush_errors()}}} to {{{Task}}} and {{{Worker}}} objects to remove associated received messages ''[1.3 beta4, needed for #69]'' === NodeSet specific === * support None as (dummy) argument for most methods ''[1.3 RC2 #106]'' * added a way to retrieve all nodes when '''{{{all}}}''' external call is missing but '''{{{map}}}''' and '''{{{list}}}''' calls are specified ''[1.3 beta6 #90]'' * added {{{__getstate__()}}} and {{{__setstate__()}}} methods to support pickling of NodeSet objects * add NodeGroups support to the NodeSet class with group info provisioning through external commands (configured in '''groups.conf'''(5)) ''[1.3 beta1 #41, #43]'' * improve NodeSet string parser with basic nodeset/nodegroup arithmetic support ''[1.3 beta1 #44]''
Due by January 1, 1970•30/30 issues closed= Notes = ''Updated for final version '''1.2'''.'' == Tools == === {{{clush}}} === * fix issue with {{{clush}}} when last line of some remote output didn't have an EOL (end of line) ''[1.2 #66]'' * add {{{-B}}} flag to gather output with stderr ''[1.2 RC1 #60]'' * reduce memory footprint by disabling internal MsgTree buffering when not performing any result gathering (when {{{-b}}} is not used) ''[1.2 RC1]'' * comply with {{{clubak}}} by adding {{{-L}}} option that allow switching to alternative line mode display (when using {{{-b}}}). Also, buffers are now sorted by nodes or nodeset length like {{{clubak}}} ''[1.2 beta4 #54]'' * on {{{clush --copy}}}, when {{{--dest}}} is not specified, set the destination path to the source dirname path and not the source full path ''[1.2 beta3]'' * added option {{{--nostdin}}} to prevent reading from standard input (needed by some scripts) ''[1.2 beta3 #49]'' * when {{{-b}}} is used (gather mode), now clush displays already-received output messages on keyboard interrupt (CTRL-C) ''[1.2 beta2 #22]'' * added {{{-X}}} flag to exclude node groups'' [1.2 beta2]'' * node flags {{{-w/-x/-g/-X}}} can now be specified multiple times'' [1.2 beta2]'' * fixed unhandled broken pipe when using {{{clush ... | less}}}'' [1.2 beta2 #34]'' * fixed unhandled NodeSet parse error ''[1.2 beta2 #36]'' * fixed wrong return code on node timeout when using {{{-S -u TIMEOUT}}} ''[1.2 beta2 #48]'' * fixed option {{{--quiet}}} that didn't work when used with {{{-b}}} (gather) ''[1.2 beta2]'' * added {{{-p}}} option to preserve modification time and modes (for use with the clush copy feature) ''[1.2 beta1]'' * {{{clush}}} can now copy directories recursively ''[1.2 beta1]'' * separate stdout and stderr messages ''[1.2 beta0]'' === {{{clubak}}} === * fix !TypeError exception raised on unexpected input and accept ''node:message'' line pattern ''[1.2 RC1 #59]'' * {{{clubak}}} utility added: it provides dshbak backward-compatibility, but buffers are sorted by nodes or nodeset. It also provides additional {{{-L}}} option to switch to alternative line mode display ''[1.2 beta3 #47]'' === {{{nodeset}}} === * change command syntax: operations are now specified inline between nodesets (see '''man nodeset''' for examples) ''[1.2 RC1 #45]'' * add option to set separation character when using {{{nodeset -e}}} ({{{--separator}}}) ''[1.2 beta1 #39]'' == Library == === General === * add a way to disable MsgTree buffering with special ''stdout_msgtree'' and ''stderr_msgtree'' Task default keywords, useful if we don't want MsgTree internal buffering for fully event-based scripts ''[1.2 RC1 #3]'' * added command, source and dest public instance variable for WorkerSsh and WorkerPdsh ''[1.2 beta3]'' * added missing {{{Worker.iter_node_errors()}}} ''[1.2 beta3]'' * rewrite of MsgTree class ''[1.2 beta3 #47]'' * added {{{Task.key_error()}}} and its alias {{{node_error()}}} methods ''[1.2 beta3]'' * added engine automatic selection mechanism (use poll(2) by default since ''1.2 beta3'') ''[1.2 beta2]'' * added inter-task communication API with EnginePort, most Task methods are now thread-safe ''[1.2 beta2]'' * fixed simple quote escape conflict with Pdsh worker ''[1.2 beta1]'' * now use subprocess module inteased of {{{Popen2}}} (requires Python 2.4+) ''[1.2 beta0]'' === NodeSet specific === * NodeSet constructor now raises a !NodeSetParseError exception when unsupported type is used as input ''[1.2 RC1 #53]'' * fixed mixed-type comparisons, where, like standard {{{set()}}}, are allowed, instead of raising !TypeError ''[1.2 beta5]'' * modified {{{NodeSet.__iter__()}}} and {{{__str__()}}} so that nodes are always sorted by name/pattern (eg. acluster2, bcluster1) ''[1.2 beta3]'' * added {{{split()}}}, {{{__getslice__()}}} and {{{__eq__()}}} (equality comparison) for NodeSet and RangeSet ''[1.2 beta2 #18]'' == Packaging == * RPM build process improvements: source RPM are now easy to rebuild with {{{rpmbuild --rebuild}}} ''[1.2 beta2 #51]''
No due date•30/30 issues closed- No due date•15/15 issues closed