Python Shell Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs AWS: Rename options `root_volume_*` to `boot_disk_*`. Apr 11, 2018
elasticluster verify if the node has been added to a cluster May 17, 2018
etc/docker Fix error "Unable to create local directories(/home/.ansible/tmp)" in… Feb 4, 2018
examples Add example config to build SLURM cluster with 2 different compute no… Mar 22, 2018
tests Fix tests for `cluster.remove_node()` Apr 26, 2018
tools tools/build-docker-image.sh: Add option to tag the image. Feb 4, 2018
.dockerignore Make a Docker image for running ElastiCluster (#515) Jan 19, 2018
.gitignore .gitignore: Ignore `.pypirc` and `.workon` top-level files. Jan 13, 2018
.gitmodules Squashed 'elasticluster/providers/ansible-playbooks/' changes from 58… Aug 13, 2014
.travis.yml Travis CI: fix tagging of built images. Feb 4, 2018
Dockerfile Dockerfile: only copy `sitecustomize.py` as last step. Feb 4, 2018
LICENSE Added a LICENCE file for GPLv3 to the base of the project. Mar 30, 2017
MANIFEST.in Finally fix packaging problems after moving playbooks to package-loca… May 10, 2016
README.rst Make a Docker image for running ElastiCluster (#515) Jan 19, 2018
conftest.py Make test detection work again. Mar 20, 2018
elasticluster.sh New command-line option `--latest` for the `elasticluster.sh`. Mar 7, 2018
ez_setup.py Correct `pip` incantation needed to upgrade `setuptools` on CentOS. Feb 1, 2017
setup.cfg change pytest to tool:pytest to remove a warning in the tests Nov 20, 2016
setup.py Upper contraint novaclient May 16, 2018
tox.ini Switch over from `nose` to `py.test` for testing. Jan 14, 2016
version.txt Bump version to 1.3.dev4 Apr 17, 2018

README.rst

ElastiCluster travis-ci-status Join the chat at https://gitter.im/elasticluster/chat

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, 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; this video demoes ElastiCluster setting up a computational batch-queueing cluster.

Complete documentation for ElastiCluster is available on the Read The Docs website. General discussion over ElastiCluster's usage, features, and bugs takes place on the elasticluster@googlegroups.com mailing-list (only subscribers can post).

The ElastiCluster project is an effort of the Services and Support for Science IT (S3IT) unit at the University of Zurich, licensed under the GNU General Public License version 3.

Features

ElastiCluster is in active development, and offers the following features at the moment:

  • INI-style configuration file to define cluster templates
  • Can start and manage multiple independent clusters at the same time
  • Automated setup of:
  • Growing and shrinking a running cluster.

ElastiCluster is currently in active development: please use the GitHub issue tracker to file enhancement requests and ideas, or the mailing-list for discussion.

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

Quickstart

The simplest way to run ElastiCluster is to use the official Docker image. If you cannot or want not to use Docker, please see alternate installation instructions on ElastiCluster's Read The Docs website.

To install ElastiCluster over Docker: (1) download the elasticluster.sh script script into a file elastiucluster.sh, then (2) type this at your terminal prompt:

chmod +x elasticluster.sh

That's it! You can now check that ElastiCluster is ready by running:

elasticluster.sh --help

The first time it is run, the elasticluster.sh script will check if Docker is installed, and ask for permission to install it if Docker is not found. Follow the on-screen instructions; see section Getting Help if you're in trouble.

You can also rename file elasticluster.sh to elasticluster, if you so like, to be consistent with the rest of the documentation.

Alternatively, you can also perform both steps at the terminal prompt:

# use this if the `wget` command is installed
wget -O elasticluster.sh https://raw.githubusercontent.com/gc3-uzh-ch/elasticluster/master/elasticluster.sh
chmod +x elasticluster.sh

# use this if the `curl` command is installed instead
curl -O https://raw.githubusercontent.com/gc3-uzh-ch/elasticluster/master/elasticluster.sh
chmod +x elasticluster.sh

Choose either one of the two methods above, depending on whether wget or curl is installed on your system (Linux systems normally have wget; MacOSX normally uses curl).

After ElastiCluster is installed, run this command to deploy an example configuration file:

elasticluster list-templates

The configuration file is located in .elasticluster/config; adjust it to your liking using the configuration reference.

Getting help

For anything concerning ElastiCluster, including trouble running the installation script, please send an email to elasticluster@googlegroups.com or post a message on the web forum https://groups.google.com/forum/#!forum/elasticluster. Include the full output of the script in your email, in order to help us to identify the problem.