Skip to content

edf-hpc/clara

Repository files navigation

Clara, a set of Cluster Administration Tools

!! Warning: this code is compatible only with Python3

Overview

clara is a set of cluster administration tools. The different tools are written as plugins that can be added or removed independently.

Clara provides the following plugins:

  • repo creates, updates and synchronizes local Debian repositories
  • ipmi manages and get the status from the nodes of a cluster
  • slurm performs tasks using SLURM's controller
  • images creates and updates the images of installation of a cluster
  • p2p makes torrent images and seeds them via BitTorrent
  • enc interact with encrypted files using configurable methods
  • build builds Debian packages
  • virt manages virtual machines
  • redfish manages the nodes of a cluster like ipmi to eventually replace it
  • easybuild manages package installation via easybuild Read the full user's guide.

Release

Steps to produce release $VERSION (ex: 0.19700101):

  1. Update CHANGELOG.md to move entries under the [Unrelease] into a new release section.
  2. Bump version number in clara/version.py
  3. Then run:
git add CHANGELOG.md
git commit -m "Release $VERSION"
git tag -a v$VERSION -m "Release $VERSION"
  1. Finally push all the branches and tags.

To generate a tarball, run:

git archive --format=tar.gz --prefix=clara-$VERSION/ \
    v$VERSION > ../clara-$VERSION.tar.gz

Tests

For running tests please install: pytest pytest-mock mock and then run:

pytest

Under the project directory