wiki:WikiStart_old

Version 7 (modified by sil, 12 years ago) (diff)

--

CMT -- Cluster Management Tool

CMT is a Cluster Management Tool originally created at SARA Computing and Networking Services, which is based in Amsterdam and known as SARA nowadays. It once started as a single script, went through some reincarnations, and now it consists of a Django-powered backend on the server-side, and a CLI for the client-side.

The main reason behind CMT's existence is that we needed a tool that's capable of generating configuration-files for certain software running on our clusters. CMT has a database, where we store information about our hardware, which is used to (let CMT) generate configuration-files, based on templates. At SARA it's used in production, to generate configuration-files for services like for example dhcpd and bind. At the moment we're busy to make Python packages, to make it easy to install.

Features

Some features of CMT are:

  • Dynamically extendable data model
  • Server-side Django-powered easy-to-use web-interface
  • Client-side powerful CLI, to use CMT from shellscripts, or interactive from shell
  • Automagic generation of configuration files, with templates extended on Django Templates
  • Export stored data to, and import from JSON
  • Support for multiple clusters, networks, interfaces, etc...
  • Easy to install package for the client-side functionalities (planned for initial release)

Wished features for future releases are:

  • Import the client as a Python-module
  • Split server- and client-functionalities as much as possible, and develop as packages apart from each other
  • Build an API to make it easier to integrate CMT in other software/scripts

Requirements

  • Django>=1.2, <1.3
  • IPy==0.75
  • django-extensions==0.4
  • django-tagging==0.3.1
  • psycopg2==2.4.4

Besides these Python-packages, the following software should be installed on your system:

  • Python>=2.6
  • header files and a static library for Python
  • header files for libpq (PostgreSQL library)

Setup & Usage

Documentation of CMT is divided into several pages. Quickstart::

This will give you a quick introduction on how to prepare your environment, and get started with the CMT client.

User documentation about the client?::

Further details about how to use the CMT client can be found here. It describes the CLI and its options.

Quickstart

We advise to install CMT in its own virtual environment, by using a combination of pip, virtualenv (and virtualenvwrapper). Details about how to setup such an environment can be found on the pages of these projects.

Setup

After the initial release of CMT, it will be available as a download. More about this soon..

Once you've downloaded the package, CMT can be easily installed with pip, by issuing

pip install <CMT-packagename>

After installing, you have to modify the sample config file cmt.conf.sample to reflect your settings and then rename it to cmt.conf.

Platform specific documentation

We ourselves have tested CMT on several kind of systems, and documented the installation process:

.

Contact

Existing bugs and feature requests for CMT can be found in our overview of active tickets. If you have any issues with CMT, which aren't listed as a ticket yet, please create a new ticket or send us an email about it.