1CLUSH.CONF(5) ClusterShell User Manual CLUSH.CONF(5)
2
3
4
6 clush.conf - Configuration file for clush
7
9 clush(1) obtains configuration options from the following sources in
10 the following order:
11
12 1. command-line options
13
14 2. user configuration file ($XDG_CONFIG_HOME/cluster‐
15 shell/clush.conf)
16
17 3. local pip user installation ($HOME/.local/etc/cluster‐
18 shell/clush.conf)
19
20 4. global configuration file ($CLUSTERSHELL_CFGDIR/clush.conf, de‐
21 faults to /etc/clustershell/clush.conf)
22
23 For each parameter, the first obtained value will be used.
24
25 The configuration file has a format in the style of RFC 822 composed of
26 one main section:
27
28 Main Program options definition
29
30 [Main]
31 Configuration parameters of the Main section are described below.
32
33 fanout Size of the sliding window (fanout) of active commands for
34 clush. This fanout is used to avoid too many concurrent connec‐
35 tions and to conserve resources on the initiating hosts. In tree
36 mode, the same fanout value is used on the head node and on each
37 gateway (the fanout value is propagated). That is, if the
38 fanout is 16 on the head node, each gateway will initiate up to
39 16 connections to their target nodes at the same time.
40
41 confdir
42 Optional list of directory paths where clush should look for
43 .conf files which define run modes that can then be activated
44 with --mode. All other clush config file settings defined here
45 might be overridden in a run mode. Each mode section should
46 have a name prefixed by "mode:" to clearly identify a section
47 defining a mode. Duplicate modes are not allowed in those files.
48 Configuration files that are not readable by the current user
49 are ignored. The variable $CFGDIR is replaced by the path of
50 the highest priority configuration directory found (where
51 clush.conf resides). The default confdir value enables both sys‐
52 tem-wide and any installed user configuration (thanks to
53 $CFGDIR). Duplicate directory paths are ignored.
54
55 connect_timeout
56 Timeout in seconds to allow a connection to establish. This pa‐
57 rameter is passed to ssh. If set to 0, no timeout occurs.
58
59 command_prefix
60 Command prefix. Generally used for specific run modes, for exam‐
61 ple to implement sudo(8) support.
62
63 command_timeout
64 Timeout in seconds to allow a command to complete since the con‐
65 nection has been established. This parameter is passed to ssh.
66 In addition, the ClusterShell library ensures that any commands
67 complete in less than ( connect_timeout + command_timeout ). If
68 set to 0, no timeout occurs.
69
70 color clush can use NO_COLOR, CLICOLOR and CLICOLOR_FORCE environment
71 variables. NO_COLOR takes precedence over CLICOLOR_FORCE which
72 takes precedence over CLICOLOR. When the option is set in con‐
73 figuration file environment variables are taken into account
74 only with auto argument. color tells whether to use ANSI col‐
75 ors to surround node or nodeset prefix/header with escape se‐
76 quences to display them in color on the terminal. Valid argu‐
77 ments are never, always or auto (which use color if standard
78 output/error refer to a terminal). Colors are set to [34m (blue
79 foreground text) for stdout and [31m (red foreground text) for
80 stderr, and cannot be modified.
81
82 fd_max Maximum number of open file descriptors permitted per clush
83 process (soft resource limit for open files). This limit can
84 never exceed the system (hard) limit. The fd_max (soft) and sys‐
85 tem (hard) limits should be high enough to run clush, although
86 their values depend on your fanout value.
87
88 history_size
89 Set the maximum number of history entries saved in the GNU read‐
90 line history list. Negative values imply unlimited history file
91 size.
92
93 node_count
94 Should clush display additional (node count) information in buf‐
95 fer header? (yes/no)
96
97 maxrc Should clush return the largest of command return codes?
98 (yes/no)
99
100 password_prompt
101 Enable password prompt and password forwarding to stdin?
102 (yes/no) Generally used for specific run modes, for example to
103 implement interactive sudo(8) support.
104
105 verbosity
106 Set the verbosity level: 0 (quiet), 1 (default), 2 (verbose) or
107 more (debug).
108
109 ssh_user
110 Set the ssh user to use for remote connection (default is to not
111 specify).
112
113 ssh_path
114 Set the ssh binary path to use for remote connection (default is
115 ssh).
116
117 ssh_options
118 Set additional options to pass to the underlying ssh command.
119
120 scp_path
121 Set the scp binary path to use for remote copy (default is scp).
122
123 scp_options
124 Set additional options to pass to the underlying scp command. If
125 not specified, ssh_options are used instead.
126
127 rsh_path
128 Set the rsh binary path to use for remote connection (default is
129 rsh). You could easily use mrsh or krsh by simply changing this
130 value.
131
132 rcp_path
133 Same a rsh_path for rcp command. (Default is rcp)
134
135 rsh_options
136 Set additional options to pass to the underlying rsh/rcp com‐
137 mand.
138
139 Run modes
140 Since version 1.9, clush has support for run modes, which are special
141 clush.conf(5) settings with a given name. Two run modes are provided in
142 example configuration files that can be copied and modified. They im‐
143 plement password-based authentication with sshpass(1) and support of
144 interactive sudo(8) with password.
145
146 To use a run mode with clush --mode, install a configuration file in
147 one of clush.conf(5)'s confdir (usually clush.conf.d). Only configura‐
148 tion files ending in .conf are scanned. If the user running clush(1)
149 doesn't have read access to a configuration file, is it ignored. When
150 --mode is specified, you can display all available run modes for the
151 current user by enabling debug mode (-d).
152
154 Simple configuration file.
155
156 clush.conf
157 [Main]
158 fanout: 128
159 connect_timeout: 15
160 command_timeout: 0
161 history_size: 100
162 color: auto
163 fd_max: 10240
164 maxrc: no
165 node_count: yes
166 confdir: /etc/clustershell/clush.conf.d
167
168
169
171 $CLUSTERSHELL_CFGDIR/clush.conf
172 Global clush configuration file. If $CLUSTERSHELL_CFGDIR is not
173 defined, /etc/clustershell/clush.conf is used instead.
174
175 $XDG_CONFIG_HOME/clustershell/clush.conf
176 User configuration file for clush. If $XDG_CONFIG_HOME is not
177 defined, $HOME/.config/clustershell/clush.conf is used instead.
178
179 $HOME/.local/etc/clustershell/clush.conf
180 Local user configuration file for clush (default installation
181 for pip --user)
182
183 ~/.clush.conf
184 Deprecated per-user clush configuration file.
185
187 As of ClusterShell version 1.3, the External section has been removed
188 from clush.conf. External commands whose outputs were used by clush
189 (-a, -g, -X) are now handled by the library itself and defined in
190 groups.conf(5).
191
193 clush(1), groups.conf(5), sshpass(1), sudo(8).
194
195 http://clustershell.readthedocs.org/
196
198 Stephane Thiell, <sthiell@stanford.edu>
199
201 GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
202
203
204
205
2061.9.2 2023-09-29 CLUSH.CONF(5)