Elasticluster

Elasticluster aims to provide a user-friendly command line tool to create, manage and setup computing clusters hosted on cloud infrastructures (like Amazon's Elastic Compute Cloud EC2 or Google Compute Engine) or a private OpenStack cloud). Its main goal is to get your own private cluster up and running with just a few commands; a YouTube video demoes the basic features of elasticluster.

This project is an effort of the Grid Computing Competence Center at the University of Zurich, licensed under the GNU General Public License version 3.

Documentation for elasticluster is available on the Read The Docs website

Features

Elasticluster is in active development, but offers the following features at the current state:

  • Simple configuration file to define cluster templates
  • Can start and manage multiple independent clusters at the same time
  • Automated cluster setup:
  • Grow and shrink a running cluster

Elasticluster is currently in active development: please use the GitHub issue tracker to file enhancement requests and ideas

We appreciate pull requests for new features and enhancements. Please use the master branch as starting point.

Quickstart

Installing from PyPI

Elasticluster is a Python program; Python version 2.6 is required to run it.

It's quite easy to install elasticluster using pip; the command below is all you need to install elasticluster on your system:

pip install elasticluster

If you want to run elasticluster from source you have to install Ansible first:

pip install ansible
python setup.py install

Installing the development version from github

The source code of elasticluster is github, if you want to test the latest development version you can clone the github elasticluster repository.

You need the git command in order to be able to clone it, and we suggest you to use python virtualenv in order to create a controlled environment in which you can install elasticluster as normal user.

Assuming you already have virtualenv installed on your machine, you first need to create a virtualenv and install ansible, which is needed by elasticluster:

virtualenv elasticluster
. elasticluster/bin/activate
pip install ansible

Then you have to download the software. We suggest you to download it within the created virtualenv:

cd elasticluster
git clone git://github.com/gc3-uzh-ch/elasticluster.git src
cd src
python setup.py install

Now the elasticluster should be available in your current environment.