diff --git a/ChangeLog b/ChangeLog index 57b7aa45..87be6adc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2023-09-29 S. Thiell + + * Version 1.9.2 released. The main changes are listed below. + + * CLI: fix line buffering with Python 3 (#528) + + * clush: fix --[r]copy dest when --dest is omitted (#525) + + * NodeUtils: allow null values in cluster.yaml (#533) + + * Topology: check that node groups/wildcards are non-empty (#527) + + * rpm: xcat.conf.example missing (#526) + 2023-02-09 S. Thiell * Version 1.9.1 released. The main changes are listed below. diff --git a/clustershell.spec.in b/clustershell.spec.in index 21059f34..097bb67b 100644 --- a/clustershell.spec.in +++ b/clustershell.spec.in @@ -230,6 +230,9 @@ rm -rf %{buildroot} %{vimdatadir}/syntax/groupsconf.vim %changelog +* Fri Sep 29 2023 Stephane Thiell 1.9.2-1 +- update to 1.9.2 + * Thu Feb 9 2023 Stephane Thiell 1.9.1-1 - update to 1.9.1 diff --git a/doc/man/man1/Makefile b/doc/man/man1/Makefile index 9f6d824b..1025e35e 100644 --- a/doc/man/man1/Makefile +++ b/doc/man/man1/Makefile @@ -6,7 +6,7 @@ SOURCES := $(SRCDIR)/clubak.txt \ OBJECTS := $(SOURCES:$(SRCDIR)/%.txt=%.1) %.1: ../../txt/%.txt - rst2man -v $< $@ + rst2man $< $@ all: $(OBJECTS) diff --git a/doc/man/man1/clubak.1 b/doc/man/man1/clubak.1 index 17e87cab..9a499eac 100644 --- a/doc/man/man1/clubak.1 +++ b/doc/man/man1/clubak.1 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH CLUBAK 1 "2023-09-29" "1.9.2" "ClusterShell User Manual" +.SH NAME +clubak \- format output from clush/pdsh-like output and more . .nr rst2man-indent-level 0 . @@ -27,22 +30,19 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "CLUBAK" 1 "2023-02-09" "1.9.1" "ClusterShell User Manual" -.SH NAME -clubak \- format output from clush/pdsh-like output and more .SH SYNOPSIS .sp \fBclubak\fP [ OPTIONS ] .SH DESCRIPTION .sp \fBclubak\fP formats text from standard input containing lines of the form -\(dq\fInode:output\fP\(dq. It is fully backward compatible with \fBdshbak\fP(1) but +"\fInode:output\fP". It is fully backward compatible with \fBdshbak\fP(1) but provides additional features. For instance, \fBclubak\fP always displays its results sorted by node/nodeset. .sp You do not need to use \fBclubak\fP when using \fBclush\fP(1) as all output formatting features are already included in. It is provided for other usages, -like post\-processing results of the form \(dq\fInode:output\fP\(dq. +like post\-processing results of the form "\fInode:output\fP". .sp Like \fBclush\fP(1), \fBclubak\fP uses the \fIClusterShell.MsgTree\fP module of the ClusterShell library (see \fBpydoc ClusterShell.MsgTree\fP). @@ -52,20 +52,20 @@ ClusterShell library (see \fBpydoc ClusterShell.MsgTree\fP). .SH OPTIONS .INDENT 0.0 .TP -.B \-\-version +.B \-\-version show \fBclubak\fP version number and exit .TP -.B \-b\fP,\fB \-c +.B \-b\fP,\fB \-c gather nodes with same output (\-c is provided for \fBdshbak\fP(1) compatibility) .TP -.B \-d\fP,\fB \-\-debug +.B \-d\fP,\fB \-\-debug output more messages for debugging purpose .TP -.B \-L +.B \-L disable header block and order output by nodes .TP -.B \-r\fP,\fB \-\-regroup +.B \-r\fP,\fB \-\-regroup fold nodeset using node groups .TP .BI \-s \ GROUPSOURCE\fR,\fB \ \-\-groupsource\fB= GROUPSOURCE @@ -74,22 +74,22 @@ optional \fBgroups.conf\fP(5) group source to use .BI \-\-groupsconf\fB= FILE use alternate config file for groups.conf(5) .TP -.B \-G\fP,\fB \-\-groupbase +.B \-G\fP,\fB \-\-groupbase do not display group source prefix (always \fI@groupname\fP) .TP .BI \-S \ SEPARATOR\fR,\fB \ \-\-separator\fB= SEPARATOR node / line content separator string (default: \fI:\fP) .TP -.B \-F\fP,\fB \-\-fast +.B \-F\fP,\fB \-\-fast faster but memory hungry mode (preload all messages per node) .TP -.B \-T\fP,\fB \-\-tree +.B \-T\fP,\fB \-\-tree message tree trace mode; switch to enable \fBClusterShell.MsgTree\fP trace mode, all keys/nodes being kept for each message element of the tree, thus allowing special output gathering .TP .BI \-\-color\fB= WHENCOLOR \fBclush\fP can use NO_COLOR, CLICOLOR and CLICOLOR_FORCE environment variables. \fB\-\-color\fP command line option always takes precedence over environment variables. NO_COLOR takes precedence over CLICOLOR_FORCE which takes precedence over CLICOLOR. \fB\-\-color\fP tells whether to use ANSI colors to surround node or nodeset prefix/header with escape sequences to display them in color on the terminal. \fIWHENCOLOR\fP is \fBnever\fP, \fBalways\fP or \fBauto\fP (which use color if standard output refers to a terminal). Color is set to [34m (blue foreground text) and cannot be modified. .TP -.B \-\-diff +.B \-\-diff show diff between gathered outputs .UNINDENT .SH EXIT STATUS @@ -121,7 +121,7 @@ Another example, iterate over \fInode*\fP text files in current directory and ga .INDENT 3.0 .INDENT 3.5 .nf -# find \-name \(dqnode*\(dq \-exec wc \-c {} ; | awk \(aq{ gsub(\(dq./\(dq,\(dq\(dq,$2); print $2\(dq: \(dq$1 }\(aq | clubak \-bL +# find \-name "node*" \-exec wc \-c {} ; | awk \(aq{ gsub("./","",$2); print $2": "$1 }\(aq | clubak \-bL node[1,3]: 7 node2: 9 .fi diff --git a/doc/man/man1/cluset.1 b/doc/man/man1/cluset.1 index a8ab1912..11033e7b 100644 --- a/doc/man/man1/cluset.1 +++ b/doc/man/man1/cluset.1 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH CLUSET 1 "2023-09-29" "1.9.2" "ClusterShell User Manual" +.SH NAME +cluset \- compute advanced cluster node set operations . .nr rst2man-indent-level 0 . @@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "CLUSET" 1 "2023-02-09" "1.9.1" "ClusterShell User Manual" -.SH NAME -cluset \- compute advanced cluster node set operations .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 @@ -53,10 +53,10 @@ administration shell scripts. .INDENT 3.5 .INDENT 0.0 .TP -.B \-\-version +.B \-\-version show program\(aqs version number and exit .TP -.B \-h\fP,\fB \-\-help +.B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-s \ GROUPSOURCE\fR,\fB \ \-\-groupsource\fB= GROUPSOURCE @@ -70,22 +70,22 @@ use alternate config file for groups.conf(5) .B Commands: .INDENT 7.0 .TP -.B \-c\fP,\fB \-\-count +.B \-c\fP,\fB \-\-count show number of nodes in nodeset(s) .TP -.B \-e\fP,\fB \-\-expand +.B \-e\fP,\fB \-\-expand expand nodeset(s) to separate nodes (see also \-S \fISEPARATOR\fP) .TP -.B \-f\fP,\fB \-\-fold +.B \-f\fP,\fB \-\-fold fold nodeset(s) (or separate nodes) into one nodeset .TP -.B \-l\fP,\fB \-\-list +.B \-l\fP,\fB \-\-list list node groups, list node groups and nodes (\fB\-ll\fP) or list node groups, nodes and node count (\fB\-lll\fP). When no argument is specified at all, this command will list all node group names found in selected group source (see also \-s \fIGROUPSOURCE\fP). If any nodesets are specified as argument, this command will find node groups these nodes belongs to (individually). Optionally for each group, the fraction of these nodes being member of the group may be displayed (with \fB\-ll\fP), and also member count/total group node count (with \fB\-lll\fP). If a single hyphen\-minus (\-) is given as a nodeset, it will be read from standard input. .TP -.B \-r\fP,\fB \-\-regroup +.B \-r\fP,\fB \-\-regroup fold nodes using node groups (see \-s \fIGROUPSOURCE\fP) .TP -.B \-\-groupsources +.B \-\-groupsources list all active group sources (see \fBgroups.conf\fP(5)) .UNINDENT .TP @@ -105,23 +105,23 @@ calculate symmetric difference between sets .B Options: .INDENT 7.0 .TP -.B \-a\fP,\fB \-\-all +.B \-a\fP,\fB \-\-all call external node groups support to display all nodes .TP .BI \-\-autostep\fB= AUTOSTEP -enable a\-b/step style syntax when folding nodesets, value is min node count threshold (integer \(aq4\(aq, percentage \(aq50%\(aq or \(aqauto\(aq). If not specified, auto step is disabled (best for compatibility with other cluster tools. Example: autostep=4, \(dqnode2 node4 node6\(dq folds in node[2,4,6] but autostep=3, \(dqnode2 node4 node6\(dq folds in node[2\-6/2]. +enable a\-b/step style syntax when folding nodesets, value is min node count threshold (integer \(aq4\(aq, percentage \(aq50%\(aq or \(aqauto\(aq). If not specified, auto step is disabled (best for compatibility with other cluster tools. Example: autostep=4, "node2 node4 node6" folds in node[2,4,6] but autostep=3, "node2 node4 node6" folds in node[2\-6/2]. .TP -.B \-d\fP,\fB \-\-debug +.B \-d\fP,\fB \-\-debug output more messages for debugging purpose .TP -.B \-q\fP,\fB \-\-quiet +.B \-q\fP,\fB \-\-quiet be quiet, print essential output only .TP -.B \-R\fP,\fB \-\-rangeset +.B \-R\fP,\fB \-\-rangeset switch to RangeSet instead of NodeSet. Useful when working on numerical cluster ranges, eg. 1,5,18\-31 .TP -.B \-G\fP,\fB \-\-groupbase +.B \-G\fP,\fB \-\-groupbase hide group source prefix (always \fI@groupname\fP) .TP .BI \-S \ SEPARATOR\fR,\fB \ \-\-separator\fB= SEPARATOR @@ -132,13 +132,13 @@ separator string to use when expanding nodesets output format (default: \(aq%s\(aq) .TP .BI \-I \ SLICE_RANGESET\fR,\fB \ \-\-slice\fB= SLICE_RANGESET -return sliced off result; examples of SLICE_RANGESET are \(dq0\(dq for simple index selection, or \(dq1\-9/2,16\(dq for complex rangeset selection +return sliced off result; examples of SLICE_RANGESET are "0" for simple index selection, or "1\-9/2,16" for complex rangeset selection .TP .BI \-\-split\fB= MAXSPLIT split result into a number of subsets .TP -.B \-\-contiguous -split result into contiguous subsets (ie. for nodeset, subsets will contain nodes with same pattern name and a contiguous range of indexes, like foobar[1\-100]; for rangeset, subsets with consists in contiguous index ranges)\(dq\(dq\(dq +.B \-\-contiguous +split result into contiguous subsets (ie. for nodeset, subsets will contain nodes with same pattern name and a contiguous range of indexes, like foobar[1\-100]; for rangeset, subsets with consists in contiguous index ranges)""" .TP .BI \-\-axis\fB= RANGESET for nD nodesets, fold along provided axis only. Axis are indexed from 1 to n and can be specified here either using the rangeset syntax, eg. \(aq1\(aq, \(aq1\-2\(aq, \(aq1,3\(aq, or by a single negative number meaning that the indices is counted from the end. Because some nodesets may have several different dimensions, axis indices are silently truncated to fall in the allowed range. @@ -225,7 +225,7 @@ node[0\-4,11\-13] .sp This computes a folded nodeset containing nodes found in group @gpu and @slurm:bigmem, but not in both, minus the nodes found in odd chassis groups from 1 to 9. .TP -.B \(dqAll nodes\(dq extension +.B "All nodes" extension The \fB@*\fP and \fB@SOURCE:*\fP special notations may be used in extended patterns to represent all nodes (in SOURCE) according to the \fIall\fP external shell command (see \fBgroups.conf\fP(5)) and are equivalent to: .INDENT 7.0 .INDENT 3.5 @@ -469,7 +469,7 @@ dc3n[4\-5] .SH HISTORY .sp \fBcluset\fP was added in 1.7.3 to avoid a conflict with xCAT\(aqs \fBnodeset\fP -command and also to conform with ClusterShell\(aqs \(dqclu*\(dq command nomenclature. +command and also to conform with ClusterShell\(aqs "clu*" command nomenclature. .SH SEE ALSO .sp \fBclubak\fP(1), \fBclush\fP(1), \fBnodeset\fP(1), \fBgroups.conf\fP(5). diff --git a/doc/man/man1/clush.1 b/doc/man/man1/clush.1 index 278c0698..aa8870c2 100644 --- a/doc/man/man1/clush.1 +++ b/doc/man/man1/clush.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH CLUSH 1 "2023-02-09" "1.9.1" "ClusterShell User Manual" +.TH CLUSH 1 "2023-09-29" "1.9.2" "ClusterShell User Manual" .SH NAME clush \- execute shell commands on a cluster . @@ -165,9 +165,6 @@ optional \fBgroups.conf\fP(5) group source to use .B \-n\fP,\fB \-\-nostdin do not watch for possible input from stdin; this should be used when \fBclush\fP is run in the background (or in scripts). .TP -.B \-\-sudo -enable sudo password prompt: a prompt will ask for your sudo password and sudo will be used to run your commands on the target nodes. The password must be the same on all target nodes. The actual sudo command used by \fBclush\fP can be changed in \fBclush.conf\fP(5) or in command line using \fB\-O sudo_command="..."\fP\&. The configured \fBsudo_command\fP must be able to read a password on stdin followed by a new line (which is what \fBsudo \-S\fP does). -.TP .BI \-\-groupsconf\fB= FILE use alternate config file for groups.conf(5) .TP diff --git a/doc/man/man1/nodeset.1 b/doc/man/man1/nodeset.1 index 375dd966..26e0d52b 100644 --- a/doc/man/man1/nodeset.1 +++ b/doc/man/man1/nodeset.1 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH NODESET 1 "2023-09-29" "1.9.2" "ClusterShell User Manual" +.SH NAME +nodeset \- compute advanced nodeset operations . .nr rst2man-indent-level 0 . @@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "NODESET" 1 "2023-02-09" "1.9.1" "ClusterShell User Manual" -.SH NAME -nodeset \- compute advanced nodeset operations .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 @@ -53,10 +53,10 @@ administration shell scripts. .INDENT 3.5 .INDENT 0.0 .TP -.B \-\-version +.B \-\-version show program\(aqs version number and exit .TP -.B \-h\fP,\fB \-\-help +.B \-h\fP,\fB \-\-help show this help message and exit .TP .BI \-s \ GROUPSOURCE\fR,\fB \ \-\-groupsource\fB= GROUPSOURCE @@ -70,22 +70,22 @@ use alternate config file for groups.conf(5) .B Commands: .INDENT 7.0 .TP -.B \-c\fP,\fB \-\-count +.B \-c\fP,\fB \-\-count show number of nodes in nodeset(s) .TP -.B \-e\fP,\fB \-\-expand +.B \-e\fP,\fB \-\-expand expand nodeset(s) to separate nodes (see also \-S \fISEPARATOR\fP) .TP -.B \-f\fP,\fB \-\-fold +.B \-f\fP,\fB \-\-fold fold nodeset(s) (or separate nodes) into one nodeset .TP -.B \-l\fP,\fB \-\-list +.B \-l\fP,\fB \-\-list list node groups, list node groups and nodes (\fB\-ll\fP) or list node groups, nodes and node count (\fB\-lll\fP). When no argument is specified at all, this command will list all node group names found in selected group source (see also \-s \fIGROUPSOURCE\fP). If any nodesets are specified as argument, this command will find node groups these nodes belongs to (individually). Optionally for each group, the fraction of these nodes being member of the group may be displayed (with \fB\-ll\fP), and also member count/total group node count (with \fB\-lll\fP). If a single hyphen\-minus (\-) is given as a nodeset, it will be read from standard input. .TP -.B \-r\fP,\fB \-\-regroup +.B \-r\fP,\fB \-\-regroup fold nodes using node groups (see \-s \fIGROUPSOURCE\fP) .TP -.B \-\-groupsources +.B \-\-groupsources list all active group sources (see \fBgroups.conf\fP(5)) .UNINDENT .TP @@ -105,23 +105,23 @@ calculate symmetric difference between nodesets .B Options: .INDENT 7.0 .TP -.B \-a\fP,\fB \-\-all +.B \-a\fP,\fB \-\-all call external node groups support to display all nodes .TP .BI \-\-autostep\fB= AUTOSTEP -enable a\-b/step style syntax when folding nodesets, value is min node count threshold (integer \(aq4\(aq, percentage \(aq50%\(aq or \(aqauto\(aq). If not specified, auto step is disabled (best for compatibility with other cluster tools. Example: autostep=4, \(dqnode2 node4 node6\(dq folds in node[2,4,6] but autostep=3, \(dqnode2 node4 node6\(dq folds in node[2\-6/2]. +enable a\-b/step style syntax when folding nodesets, value is min node count threshold (integer \(aq4\(aq, percentage \(aq50%\(aq or \(aqauto\(aq). If not specified, auto step is disabled (best for compatibility with other cluster tools. Example: autostep=4, "node2 node4 node6" folds in node[2,4,6] but autostep=3, "node2 node4 node6" folds in node[2\-6/2]. .TP -.B \-d\fP,\fB \-\-debug +.B \-d\fP,\fB \-\-debug output more messages for debugging purpose .TP -.B \-q\fP,\fB \-\-quiet +.B \-q\fP,\fB \-\-quiet be quiet, print essential output only .TP -.B \-R\fP,\fB \-\-rangeset +.B \-R\fP,\fB \-\-rangeset switch to RangeSet instead of NodeSet. Useful when working on numerical cluster ranges, eg. 1,5,18\-31 .TP -.B \-G\fP,\fB \-\-groupbase +.B \-G\fP,\fB \-\-groupbase hide group source prefix (always \fI@groupname\fP) .TP .BI \-S \ SEPARATOR\fR,\fB \ \-\-separator\fB= SEPARATOR @@ -132,13 +132,13 @@ separator string to use when expanding nodesets output format (default: \(aq%s\(aq) .TP .BI \-I \ SLICE_RANGESET\fR,\fB \ \-\-slice\fB= SLICE_RANGESET -return sliced off result; examples of SLICE_RANGESET are \(dq0\(dq for simple index selection, or \(dq1\-9/2,16\(dq for complex rangeset selection +return sliced off result; examples of SLICE_RANGESET are "0" for simple index selection, or "1\-9/2,16" for complex rangeset selection .TP .BI \-\-split\fB= MAXSPLIT split result into a number of subsets .TP -.B \-\-contiguous -split result into contiguous subsets (ie. for nodeset, subsets will contain nodes with same pattern name and a contiguous range of indexes, like foobar[1\-100]; for rangeset, subsets with consists in contiguous index ranges)\(dq\(dq\(dq +.B \-\-contiguous +split result into contiguous subsets (ie. for nodeset, subsets will contain nodes with same pattern name and a contiguous range of indexes, like foobar[1\-100]; for rangeset, subsets with consists in contiguous index ranges)""" .TP .BI \-\-axis\fB= RANGESET for nD nodesets, fold along provided axis only. Axis are indexed from 1 to n and can be specified here either using the rangeset syntax, eg. \(aq1\(aq, \(aq1\-2\(aq, \(aq1,3\(aq, or by a single negative number meaning that the indices is counted from the end. Because some nodesets may have several different dimensions, axis indices are silently truncated to fall in the allowed range. @@ -225,7 +225,7 @@ node[0\-4,11\-13] .sp This computes a folded nodeset containing nodes found in group @gpu and @slurm:bigmem, but not in both, minus the nodes found in odd chassis groups from 1 to 9. .TP -.B \(dqAll nodes\(dq extension +.B "All nodes" extension The \fB@*\fP and \fB@SOURCE:*\fP special notations may be used in extended patterns to represent all nodes (in SOURCE) according to the \fIall\fP external shell command (see \fBgroups.conf\fP(5)) and are equivalent to: .INDENT 7.0 .INDENT 3.5 @@ -493,7 +493,7 @@ node[1\-2,4,7\-8] .UNINDENT .sp \fBcluset\fP was added in 1.7.3 to avoid a conflict with xCAT\(aqs \fBnodeset\fP -command and also to conform with ClusterShell\(aqs \(dqclu*\(dq command nomenclature. +command and also to conform with ClusterShell\(aqs "clu*" command nomenclature. .SH SEE ALSO .sp \fBclubak\fP(1), \fBcluset\fP(1), \fBclush\fP(1), \fBgroups.conf\fP(5). diff --git a/doc/man/man5/Makefile b/doc/man/man5/Makefile index 4438b39e..bceb8317 100644 --- a/doc/man/man5/Makefile +++ b/doc/man/man5/Makefile @@ -4,7 +4,7 @@ SOURCES := $(SRCDIR)/clush.conf.txt \ OBJECTS := $(SOURCES:$(SRCDIR)/%.txt=%.5) %.5: ../../txt/%.txt - rst2man -v $< $@ + rst2man $< $@ all: $(OBJECTS) diff --git a/doc/man/man5/clush.conf.5 b/doc/man/man5/clush.conf.5 index 4a09d969..f94fcf77 100644 --- a/doc/man/man5/clush.conf.5 +++ b/doc/man/man5/clush.conf.5 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH CLUSH.CONF 5 "2023-09-29" "1.9.2" "ClusterShell User Manual" +.SH NAME +clush.conf \- Configuration file for clush . .nr rst2man-indent-level 0 . @@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "CLUSH.CONF" 5 "2023-02-09" "1.9.1" "ClusterShell User Manual" -.SH NAME -clush.conf \- Configuration file for clush .SH DESCRIPTION .sp \fBclush\fP(1) obtains configuration options from the following sources in the @@ -76,7 +76,7 @@ initiate up to \fB16\fP connections to their target nodes at the same time. Optional list of directory paths where clush should look for \fI\&.conf\fP files which define run modes that can then be activated with \fB\-\-mode\fP\&. All other clush config file settings defined here might be overridden in a run mode. -Each mode section should have a name prefixed by \(dqmode:\(dq to clearly identify +Each mode section should have a name prefixed by "mode:" to clearly identify a section defining a mode. Duplicate modes are not allowed in those files. Configuration files that are not readable by the current user are ignored. The variable \fI$CFGDIR\fP is replaced by the path of the highest priority diff --git a/doc/man/man5/groups.conf.5 b/doc/man/man5/groups.conf.5 index 6e87e04f..4640d1c9 100644 --- a/doc/man/man5/groups.conf.5 +++ b/doc/man/man5/groups.conf.5 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH GROUPS.CONF 5 "2023-09-29" "1.9.2" "ClusterShell User Manual" +.SH NAME +groups.conf \- Configuration file for ClusterShell node groups . .nr rst2man-indent-level 0 . @@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "GROUPS.CONF" 5 "2023-02-09" "1.9.1" "ClusterShell User Manual" -.SH NAME -groups.conf \- Configuration file for ClusterShell node groups .SH DESCRIPTION .sp The ClusterShell library obtains its node groups configuration from the @@ -76,7 +76,7 @@ Configuration parameters of the \fBMain\fP section are described below. .TP .B default Specify the default group source (group namespace) used by the NodeSet parser -when the user does not explicitly specify the group source (eg. \(dq@io\(dq). +when the user does not explicitly specify the group source (eg. "@io"). .TP .B confdir Optional list of directories where the ClusterShell library should look for @@ -175,10 +175,10 @@ map: sed \-n \(aqs/^$GROUP:(.*)/1/p\(aq /etc/clustershell/groups list: sed \-n \(aqs/^\e(\fB[0\-9A\-Za\-z_\-]\fP*\e):.*/\e1/p\(aq /etc/clustershell/groups [slurm] -map: sinfo \-h \-o \(dq%N\(dq \-p $GROUP -all: sinfo \-h \-o \(dq%N\(dq -list: sinfo \-h \-o \(dq%P\(dq -reverse: sinfo \-h \-N \-o \(dq%P\(dq \-n $NODE +map: sinfo \-h \-o "%N" \-p $GROUP +all: sinfo \-h \-o "%N" +list: sinfo \-h \-o "%P" +reverse: sinfo \-h \-N \-o "%P" \-n $NODE .fi .sp .SH FILES diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py index a9462024..4e474376 100644 --- a/doc/sphinx/conf.py +++ b/doc/sphinx/conf.py @@ -34,7 +34,7 @@ source_suffix = '.rst' # The encoding of source files. -#source_encoding = 'utf-8-sig' +source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' @@ -48,9 +48,9 @@ # built documents. # # The short X.Y version. -version = '1.9.1' +version = '1.9.2' # The full version, including alpha/beta/rc tags. -release = '1.9.1' +release = '1.9.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/sphinx/release.rst b/doc/sphinx/release.rst index 0474839f..d47f333d 100644 --- a/doc/sphinx/release.rst +++ b/doc/sphinx/release.rst @@ -10,6 +10,32 @@ We are pleased to announce the availability of this new release, which comes with some exciting new features and improvements. We would like to thank everyone who participated in this release in a way or another. +Version 1.9.2 +^^^^^^^^^^^^^ + +This version contains a few bug fixes and improvements over 1.9.1: + +* :ref:`clush-tool`: and :ref:`clubak-tool`: We fixed the line-buffered + output with recent versions of Python 3 for the standard output and + standard error streams. A welcome consequence of this change is that + non-printable characters will now be displayed as �. + +* :ref:`clush-tool`: When multiple files or directories are specified as + arguments with ``--[r]copy``, and ``--dest`` is omitted, use each + argument's dirname for each destination, instead of the dirname of the + first argument only. + +* In YAML configuration files used for :ref:`group-file-based`, a valid + YAML null value (for example: ``null`` or ``~``) is now interpreted as + an empty node set. + +* Router and destination node sets defined in + :ref:`topology.conf ` may use + :ref:`nodeset-groups` and :ref:`node-wildcards` but any route + definition with an empty node set will now be ignored. + +For more details, please have a look at `GitHub Issues for 1.9.2 milestone`_. + Version 1.9.1 ^^^^^^^^^^^^^ @@ -716,6 +742,7 @@ Please see :ref:`install-pip-user`. .. _GitHub Issues for 1.8.4 milestone: https://github.com/cea-hpc/clustershell/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A1.8.4 .. _GitHub Issues for 1.9 milestone: https://github.com/cea-hpc/clustershell/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A1.9 .. _GitHub Issues for 1.9.1 milestone: https://github.com/cea-hpc/clustershell/issues?q=milestone%3A1.9.1 +.. _GitHub Issues for 1.9.2 milestone: https://github.com/cea-hpc/clustershell/issues?q=milestone%3A1.9.2 .. _LGPL v2.1+: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html .. _CeCILL-C V1: http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html .. _xCAT: https://xcat.org/ diff --git a/doc/txt/clubak.txt b/doc/txt/clubak.txt index 3c1ba21b..911ff2d7 100644 --- a/doc/txt/clubak.txt +++ b/doc/txt/clubak.txt @@ -7,9 +7,9 @@ format output from clush/pdsh-like output and more -------------------------------------------------- :Author: Stephane Thiell -:Date: 2023-02-09 +:Date: 2023-09-29 :Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) -:Version: 1.9.1 +:Version: 1.9.2 :Manual section: 1 :Manual group: ClusterShell User Manual diff --git a/doc/txt/cluset.txt b/doc/txt/cluset.txt index e64e6eaa..6a289df4 100644 --- a/doc/txt/cluset.txt +++ b/doc/txt/cluset.txt @@ -7,9 +7,9 @@ compute advanced cluster node set operations -------------------------------------------- :Author: Stephane Thiell -:Date: 2023-02-09 +:Date: 2023-09-29 :Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) -:Version: 1.9.1 +:Version: 1.9.2 :Manual section: 1 :Manual group: ClusterShell User Manual diff --git a/doc/txt/clush.conf.txt b/doc/txt/clush.conf.txt index ddd583e8..cc22f415 100644 --- a/doc/txt/clush.conf.txt +++ b/doc/txt/clush.conf.txt @@ -7,9 +7,9 @@ Configuration file for `clush` ------------------------------ :Author: Stephane Thiell, -:Date: 2023-02-09 +:Date: 2023-09-29 :Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) -:Version: 1.9.1 +:Version: 1.9.2 :Manual section: 5 :Manual group: ClusterShell User Manual diff --git a/doc/txt/clush.txt b/doc/txt/clush.txt index 5f31e26e..10d4c320 100644 --- a/doc/txt/clush.txt +++ b/doc/txt/clush.txt @@ -7,9 +7,9 @@ execute shell commands on a cluster ----------------------------------- :Author: Stephane Thiell -:Date: 2023-02-09 +:Date: 2023-09-29 :Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) -:Version: 1.9.1 +:Version: 1.9.2 :Manual section: 1 :Manual group: ClusterShell User Manual @@ -134,7 +134,6 @@ OPTIONS -s GROUPSOURCE, --groupsource=GROUPSOURCE optional ``groups.conf``\(5) group source to use -n, --nostdin do not watch for possible input from stdin; this should be used when ``clush`` is run in the background (or in scripts). ---sudo enable sudo password prompt: a prompt will ask for your sudo password and sudo will be used to run your commands on the target nodes. The password must be the same on all target nodes. The actual sudo command used by ``clush`` can be changed in ``clush.conf``\(5) or in command line using ``-O sudo_command="..."``. The configured ``sudo_command`` must be able to read a password on stdin followed by a new line (which is what ``sudo -S`` does). --groupsconf=FILE use alternate config file for groups.conf(5) --conf=FILE use alternate config file for clush.conf(5) -O , --option= diff --git a/doc/txt/groups.conf.txt b/doc/txt/groups.conf.txt index a0893be0..bc8667c8 100644 --- a/doc/txt/groups.conf.txt +++ b/doc/txt/groups.conf.txt @@ -7,9 +7,9 @@ Configuration file for ClusterShell node groups ----------------------------------------------- :Author: Stephane Thiell, -:Date: 2023-02-09 +:Date: 2023-09-29 :Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) -:Version: 1.9.1 +:Version: 1.9.2 :Manual section: 5 :Manual group: ClusterShell User Manual diff --git a/doc/txt/nodeset.txt b/doc/txt/nodeset.txt index 65fe4cc4..dc71ad5e 100644 --- a/doc/txt/nodeset.txt +++ b/doc/txt/nodeset.txt @@ -7,9 +7,9 @@ compute advanced nodeset operations ----------------------------------- :Author: Stephane Thiell -:Date: 2023-02-09 +:Date: 2023-09-29 :Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) -:Version: 1.9.1 +:Version: 1.9.2 :Manual section: 1 :Manual group: ClusterShell User Manual diff --git a/lib/ClusterShell/__init__.py b/lib/ClusterShell/__init__.py index 76f4f722..8fc80091 100644 --- a/lib/ClusterShell/__init__.py +++ b/lib/ClusterShell/__init__.py @@ -34,8 +34,8 @@ - ClusterShell.Task """ -__version__ = '1.9.1' +__version__ = '1.9.2' __version_info__ = tuple([ int(_n) for _n in __version__.split('.')]) -__date__ = '2023/02/09' +__date__ = '2023/09/29' __author__ = 'Stephane Thiell ' __url__ = 'http://clustershell.readthedocs.org/' diff --git a/setup.py b/setup.py index 423700db..b97bbfc7 100755 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ from setuptools import setup, find_packages -VERSION = '1.9.1' +VERSION = '1.9.2' CFGDIR = 'etc/clustershell' MANDIR = 'share/man'