Skip to content

Commit

Permalink
Release 1.8.2
Browse files Browse the repository at this point in the history
https://clustershell.readthedocs.io/en/v1.8.2/release.html

Docs:
- add xCAT group bindings
- add Library Defaults use cases: rsh and slurm

Change-Id: I5e675a0c710033359bcf8b92215d6fc41c5c65d6
  • Loading branch information
thiell committed Aug 13, 2019
1 parent 592cffb commit 8fb4204
Show file tree
Hide file tree
Showing 22 changed files with 176 additions and 28 deletions.
19 changes: 19 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
2019-08-12 S. Thiell <[email protected]>

* Version 1.8.2 released. The main changes are listed below.

* CLI/Display: use utf-8 (or non-ascii) encoding (#400)

* Defaults: add NodeSet's default folding axis (#401)

* EngineTimer: fix misuse of epsilon when firing timer (#399)

* xCAT group bindings: performance update (#398)

* Slurm group bindings: fix issue where job ids were used instead of user
names (#405)

* Doc: disable smartquotes (#402) and fix typo, %r is not for rank (#409)

* Packaging: add support for RHEL8 (#413)

2018-10-30 S. Thiell <[email protected]>

* Version 1.8.1 released. The main changes are listed below.
Expand Down
3 changes: 3 additions & 0 deletions clustershell.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,9 @@ rm -rf %{buildroot}
%{vimdatadir}/syntax/groupsconf.vim

%changelog
* Mon Aug 12 2019 Stephane Thiell <[email protected]> 1.8.2-1
- update to 1.8.2

* Tue Oct 30 2018 Stephane Thiell <[email protected]> 1.8.1-1
- update to 1.8.1

Expand Down
2 changes: 1 addition & 1 deletion doc/man/man1/clubak.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH CLUBAK 1 "2018-10-30" "1.8.1" "ClusterShell User Manual"
.TH CLUBAK 1 "2019-08-12" "1.8.2" "ClusterShell User Manual"
.SH NAME
clubak \- format output from clush/pdsh-like output and more
.
Expand Down
2 changes: 1 addition & 1 deletion doc/man/man1/cluset.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH CLUSET 1 "2018-10-30" "1.8.1" "ClusterShell User Manual"
.TH CLUSET 1 "2019-08-12" "1.8.2" "ClusterShell User Manual"
.SH NAME
cluset \- compute advanced cluster node set operations
.
Expand Down
2 changes: 1 addition & 1 deletion doc/man/man1/clush.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH CLUSH 1 "2018-10-30" "1.8.1" "ClusterShell User Manual"
.TH CLUSH 1 "2019-08-12" "1.8.2" "ClusterShell User Manual"
.SH NAME
clush \- execute shell commands on a cluster
.
Expand Down
2 changes: 1 addition & 1 deletion doc/man/man1/nodeset.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH NODESET 1 "2018-10-30" "1.8.1" "ClusterShell User Manual"
.TH NODESET 1 "2019-08-12" "1.8.2" "ClusterShell User Manual"
.SH NAME
nodeset \- compute advanced nodeset operations
.
Expand Down
2 changes: 1 addition & 1 deletion doc/man/man5/clush.conf.5
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH CLUSH.CONF 5 "2018-10-30" "1.8.1" "ClusterShell User Manual"
.TH CLUSH.CONF 5 "2019-08-12" "1.8.2" "ClusterShell User Manual"
.SH NAME
clush.conf \- Configuration file for clush
.
Expand Down
2 changes: 1 addition & 1 deletion doc/man/man5/groups.conf.5
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH GROUPS.CONF 5 "2018-10-30" "1.8.1" "ClusterShell User Manual"
.TH GROUPS.CONF 5 "2019-08-12" "1.8.2" "ClusterShell User Manual"
.SH NAME
groups.conf \- Configuration file for ClusterShell node groups
.
Expand Down
4 changes: 2 additions & 2 deletions doc/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@
# built documents.
#
# The short X.Y version.
version = '1.8.1'
version = '1.8.2'
# The full version, including alpha/beta/rc tags.
release = '1.8.1'
release = '1.8.2'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
89 changes: 85 additions & 4 deletions doc/sphinx/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -367,8 +367,10 @@ is not doable. But if the call return zero, for instance, for a non-existing
group, the user will not receive any error when trying to resolve such unknown
group. The desired behavior is up to the system administrator.

Slurm bindings (example)
""""""""""""""""""""""""
.. _group-slurm-bindings:

Slurm group bindings
""""""""""""""""""""

Enable Slurm node group bindings by renaming the example configuration file
usually installed as ``/etc/clustershell/groups.conf.d/slurm.conf.example`` to
Expand Down Expand Up @@ -445,15 +447,15 @@ allocated for jobs belonging to the username::

[slurmuser,su]
map: squeue -h -u $GROUP -o "%N" -t R
list: squeue -h -o "%i" -t R
list: squeue -h -o "%u" -t R
reverse: squeue -h -w $NODE -o "%i"
cache_time: 60

Example of use with :ref:`clush <clush-tool>` to execute a command on all nodes
with running jobs of username::

$ clush -bw@su:username 'df -Ph /scratch'
$ clush -bw@su:username 'du -s /scratch/username'
$ clush -bw@su:username 'du -s /scratch/username'

:ref:`cache_time <group-external-caching>` is also set to 60 seconds instead
of the default (3600s) to avoid caching results in memory for too long, because
Expand All @@ -467,6 +469,50 @@ You can then easily find nodes associated with a Slurm job ID::
$ nodeset -f @sj:686518
cluster-[0003,0005,0010,0012,0015,0017,0021,0055]

.. _group-xcat-bindings:

xCAT group bindings
"""""""""""""""""""

Enable xCAT node group bindings by renaming the example configuration file
usually installed as ``/etc/clustershell/groups.conf.d/xcat.conf.example`` to
``xcat.conf``. A single group source is defined in this file and is detailed
below.

.. warning:: xCAT installs its own `nodeset`_ command which
usually takes precedence over ClusterShell's :ref:`nodeset-tool` command.
In that case, simply use :ref:`cluset <cluset-tool>` instead.

While examples below are based on the :ref:`cluset-tool` tool, all Python
tools using ClusterShell and the :class:`.NodeSet` class will automatically
benefit from these additional node groups.

.. highlight:: ini

The section **xcat** defines a group source based on xCAT static node groups::

[xcat]

# list the nodes in the specified node group
map: lsdef -s -t node $GROUP | cut -d' ' -f1
# list all the nodes defined in the xCAT tables
all: lsdef -s -t node | cut -d' ' -f1
# list all groups
list: lsdef -t group | cut -d' ' -f1

.. highlight:: console

Example of use with :ref:`cluset-tool`::

$ lsdef -s -t node dtn
sh-dtn01 (node)
sh-dtn02 (node)
$ cluset -s xcat -f @dtn
sh-dtn[01-02]

.. highlight:: text

.. _defaults-config:
Expand All @@ -493,5 +539,40 @@ following files is found, in priority order::
$HOME/.config/clustershell/defaults.conf (only if $XDG_CONFIG_HOME is not defined)
$HOME/.local/etc/clustershell/defaults.conf

Use case: rsh
^^^^^^^^^^^^^^

If your cluster uses a rsh variant like ``mrsh`` or ``krsh``, you may want to
change it in the library defaults.

An example file is usually available in
``/usr/share/doc/clustershell-*/examples/defaults.conf-rsh`` and could be
copied to ``/etc/clustershell/defaults.conf`` or to an alternate path
described above. Basically, the change consists in defining an alternate
distant worker by Python module name as follow::

[task.default]
distant_workername: Rsh


.. _defaults-config-slurm:

Use case: Slurm
^^^^^^^^^^^^^^^

If your cluster naming scheme has multiple dimensions, as in ``node-93-02``, we
recommend that you disengage some nD folding when using Slurm, which is
currently unable to detect some multidimensional node indexes when not
explicitly enclosed with square brackets.

To do so, define ``fold_axis`` to -1 in the :ref:`defaults-config` so that nD
folding is only computed on the last axis (seems to work best with Slurm)::

[nodeset]
fold_axis: -1

That way, node sets computed by ClusterShell tools can be passed to Slurm
without error.

.. _ConfigParser: http://docs.python.org/library/configparser.html
.. _nodeset: https://xcat-docs.readthedocs.io/en/stable/guides/admin-guides/references/man8/nodeset.8.html
2 changes: 2 additions & 0 deletions doc/sphinx/guide/taskmgnt.rst
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,8 @@ executed remotely are not necessary stopped (this is due to *ssh(1)*
behavior).


.. _configuring-a-timer:

Configuring a Timer
^^^^^^^^^^^^^^^^^^^

Expand Down
38 changes: 38 additions & 0 deletions doc/sphinx/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,43 @@ farms! Special thanks to the many of you that have sent us feedback on GitHub!

.. warning:: Support for Python 2.5 and below has been dropped in this version.

Version 1.8.2
^^^^^^^^^^^^^

This version contains a few minor fixes:

* :ref:`clush-tool`: support UTF-8 string encoding with
:ref:`--diff <clush-diff>`

* in some cases, :ref:`timers <configuring-a-timer>` were too fast due to an
issue in :class:`.EngineTimer`

* fix issue in the :ref:`Slurm group bindings <group-slurm-bindings>` where job
ids were used instead of user names

* performance update for :ref:`xCAT group bindings <group-xcat-bindings>`

For more details, please have a look at `GitHub Issues for 1.8.2 milestone`_.

Python support
""""""""""""""

Version 1.8.2 adds support for Python 3.7.

.. note:: This version still supports Python 2.6 and thus also RHEL/CentOS
6, but please note that ClusterShell 1.9 is expected to require at least
Python 2.7.

OS support
""""""""""

Version 1.8.2 adds support for RHEL 8/CentOS 8 and Fedora 31+, where only the
Python 3 package is provided. The ``clustershell`` packages will be made
available in EPEL-8 as soon as possible.

No packaging changes were made to ``clustershell`` in RHEL/CentOS 6 or 7.


Version 1.8.1
^^^^^^^^^^^^^

Expand Down Expand Up @@ -499,6 +536,7 @@ Please see :ref:`install-pip-user`.
.. _GitHub Issues for 1.7.3 milestone: https://github.com/cea-hpc/clustershell/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A1.7.3
.. _GitHub Issues for 1.8 milestone: https://github.com/cea-hpc/clustershell/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A1.8
.. _GitHub Issues for 1.8.1 milestone: https://github.com/cea-hpc/clustershell/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A1.8.1
.. _GitHub Issues for 1.8.2 milestone: https://github.com/cea-hpc/clustershell/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A1.8.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/
2 changes: 2 additions & 0 deletions doc/sphinx/tools/clush.rst
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,8 @@ even if all nodes have successfully run the command. When you hit CTRL-C with
2.6.18-164.11.1.el5
Keyboard interrupt (node1 did not complete).

.. _clush-diff:

Performing *diff* of cluster-wide outputs
"""""""""""""""""""""""""""""""""""""""""

Expand Down
3 changes: 3 additions & 0 deletions doc/sphinx/tools/nodeset.rst
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,9 @@ useful to fold along the last axis whatever number of dimensions used::
$ nodeset --axis=-1 -f comp-[1-2]-[1-36],login-[1-2]
comp-1-[1-36],comp-2-[1-36],login-[1-2]

See also the :ref:`defaults-config-slurm` of Library Defaults for changing it
permanently.

.. _nodeset-pick:

Picking N node(s) at random
Expand Down
4 changes: 2 additions & 2 deletions doc/txt/clubak.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ format output from clush/pdsh-like output and more
--------------------------------------------------

:Author: Stephane Thiell <[email protected]>
:Date: 2018-10-30
:Date: 2019-08-12
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.1
:Version: 1.8.2
:Manual section: 1
:Manual group: ClusterShell User Manual

Expand Down
4 changes: 2 additions & 2 deletions doc/txt/cluset.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ compute advanced cluster node set operations
--------------------------------------------

:Author: Stephane Thiell <[email protected]>
:Date: 2018-10-30
:Date: 2019-08-12
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.1
:Version: 1.8.2
:Manual section: 1
:Manual group: ClusterShell User Manual

Expand Down
4 changes: 2 additions & 2 deletions doc/txt/clush.conf.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Configuration file for `clush`
------------------------------

:Author: Stephane Thiell, <[email protected]>
:Date: 2018-10-30
:Date: 2019-08-12
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.1
:Version: 1.8.2
:Manual section: 5
:Manual group: ClusterShell User Manual

Expand Down
4 changes: 2 additions & 2 deletions doc/txt/clush.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ execute shell commands on a cluster
-----------------------------------

:Author: Stephane Thiell <[email protected]>
:Date: 2018-10-30
:Date: 2019-08-12
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.1
:Version: 1.8.2
:Manual section: 1
:Manual group: ClusterShell User Manual

Expand Down
4 changes: 2 additions & 2 deletions doc/txt/groups.conf.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Configuration file for ClusterShell node groups
-----------------------------------------------

:Author: Stephane Thiell, <[email protected]>
:Date: 2018-10-30
:Date: 2019-08-12
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.1
:Version: 1.8.2
:Manual section: 5
:Manual group: ClusterShell User Manual

Expand Down
4 changes: 2 additions & 2 deletions doc/txt/nodeset.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ compute advanced nodeset operations
-----------------------------------

:Author: Stephane Thiell <[email protected]>
:Date: 2018-10-30
:Date: 2019-08-12
:Copyright: GNU Lesser General Public License version 2.1 or later (LGPLv2.1+)
:Version: 1.8.1
:Version: 1.8.2
:Manual section: 1
:Manual group: ClusterShell User Manual

Expand Down
4 changes: 2 additions & 2 deletions lib/ClusterShell/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
- ClusterShell.Task
"""

__version__ = '1.8.1'
__version__ = '1.8.2'
__version_info__ = tuple([ int(_n) for _n in __version__.split('.')])
__date__ = '2018/10/30'
__date__ = '2019/08/12'
__author__ = 'Stephane Thiell <[email protected]>'
__url__ = 'http://clustershell.readthedocs.org/'
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python
#
# Copyright (C) 2008-2016 CEA/DAM
# Copyright (C) 2016-2018 Stephane Thiell <[email protected]>
# Copyright (C) 2016-2019 Stephane Thiell <[email protected]>
#
# This file is part of ClusterShell.
#
Expand All @@ -23,7 +23,7 @@
from setuptools import setup, find_packages


VERSION = '1.8.1'
VERSION = '1.8.2'

# Default CFGDIR: in-prefix config install (rpmbuild or pip as user)
CFGDIR = 'etc/clustershell'
Expand Down

0 comments on commit 8fb4204

Please sign in to comment.