Lustre administration tool
Clone or download
actatux Lustre.Action.Fsck: ev_error workaround for ClusterShell 1.8.0
The removal of EventHandler.ev_error() in ClusterShell 1.8 introduces a
regression in shine.

While this issue is tracked in cea-hpc/clustershell#377, we can safely
remove the no-op FSAction.ev_error() from shine.

Closes #206

Change-Id: Ief3c9038539beafe9c5dfd82a26af63484a5d354
Latest commit 1aeebca Feb 7, 2018

Shine - Lustre file system administration utility



When possible, please use the RPM distribution for an easy install. You can get it from

Shine is based on ClusterShell, a python library easily available, from EPEL by example.

If you want to do it from source, type:

# python install

On RHEL-6 like systems, you may want to use the provided init script:

# cp /var/share/shine/shine.init.redhat /etc/rc.d/init.d/shine

Quick Start

Make sure Shine is installed on all nodes.

Edit the file /etc/shine/shine.conf and copy it on all nodes.

To create myfs Lustre file system, copy the provided file system model file:

# cd /etc/shine/models
# cp example.lmf myfs.lmf

Edit myfs.lmf to match your needs. This file describes the file system to be installed.

Install the file system with:

# shine install -m /etc/shine/models/myfs.lmf

Then format the file system with:

# shine format -f myfs

Start servers with:

# shine start -f myfs

Mount clients with:

# shine mount -f myfs

Testing code

If you modify Shine source code, do not forget to test it with the test suite available in tests/ directory of the source code.

python-nose is the recommended way to run the testsuite. However unittest provided with Python 2.7 and above should also works.

$ export PYTHONPATH=$PWD/lib
$ cd tests
$ nosetests -v <TESTFILE.PY>
$ nosetests -v --all-modules

Some tests require real block file to work. This needs to be configured in tests/tests.conf:

noformat_dev=/dev/sda   # Real block device file, only used in read-only

Some tests needs to launch real Lustre commands and so needs to have root permissions. These tests will be skipped if you do not have these permissions.

# nosetests -v --all-modules