elasticluster python

Create clusters of VMs on the cloud and configure them with Ansible


ElastiCluster |travis-ci-status|

.. This file follows reStructuredText markup syntax; see http://docutils.sf.net/rst.html for more information

.. |travis-ci-status| image:: https://travis-ci.org/gc3-uzh-ch/elasticluster.svg?branch=master

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 <http://elasticluster.readthedocs.org/>_ website. General discussion over ElastiCluster’s usage, features, and bugs takes place on the [email protected] <https://groups.google.com/forum/#!forum/elasticluster>_ 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.


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:
    • HPC clusters using SLURM_ or GridEngine_;
    • Spark_ / Hadoop_ clusters with HDFS and Hive/SQL;
    • distributed storage clusters using GlusterFS, OrangeFS, or Ceph_;
    • …or anything that you can install with an Ansible_ playbook!
  • 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.


ElastiCluster_ is a Python_ program; Python version 2.6 or 2.7 is required to run it. Python 3 is not (yet) supported.

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 try out the development version instead, please read the Installing development code from GitHub__ section in the manual__.

.. __: http://elasticluster.readthedocs.io/en/master/install.html#installing-development-code-from-github .. __: http://elasticluster.readthedocs.io/en/latest/

Note: The 1.3 release is nearing, which has seen quite some changes from the 1.2 code that’s on PyPI. For the moment, you are therefore encouraged to run the development code from GitHub__ and report on any bugs you find!

.. __: http://elasticluster.readthedocs.io/en/master/install.html#installing-development-code-from-github

.. References

References should be sorted by link name (case-insensitively), to make it easy to spot a missing or duplicate reference.

.. _Amazon's Elastic Compute Cloud EC2: http://aws.amazon.com/ec2/ .. _Ansible: https://ansible.com/ .. _CentOS: http://www.centos.org/ .. _Ceph: http://ceph.com/ .. _Debian GNU/Linux: http://www.debian.org .. _elasticluster: http://gc3-uzh-ch.github.io/elasticluster/ .. _example configuration file: https://github.com/gc3-uzh-ch/elasticluster/raw/develop/elasticluster/share/etc/config.template .. _enhancement requests and ideas: https://github.com/gc3-uzh-ch/elasticluster/issues .. _Ganglia: http://ganglia.info .. _GC3 Hobbes cloud: http://www.gc3.uzh.ch/infrastructure/hobbes .. _github elasticluster repository: https://github.com/gc3-uzh-ch/elasticluster .. _github: https://github.com/ .. _GlusterFS: http://www.gluster.org/ .. _GNU General Public License version 3: http://www.gnu.org/licenses/gpl.html .. _Google Compute Engine: https://cloud.google.com/products/compute-engine .. _Grid Computing Competence Center: http://www.gc3.uzh.ch/ .. _GridEngine: http://gridengine.info .. _Hadoop: http://hadoop.apache.org/ .. _IPython cluster: http://ipython.org/ipython-doc/dev/parallel/ .. _mailing-list: https://groups.google.com/forum/#!forum/elasticluster .. _OpenStack: http://www.openstack.org/ .. _OrangeFS: http://orangefs.org/ .. _pip: https://pypi.python.org/pypi/pip .. _python virtualenv: https://pypi.python.org/pypi/virtualenv .. _Python: http://www.python.org .. _Services and Support for Science IT: http://www.s3it.uzh.ch/ .. _Spark: http://spark.apache.org/ .. _SLURM: https://slurm.schedmd.com/ .. _TORQUE+MAUI: http://www.adaptivecomputing.com/products/open-source/torque/ .. _Ubuntu: http://www.ubuntu.com .. _University of Zurich: http://www.uzh.ch .. _video: http://youtu.be/cR3C7XCSMmA

.. (for Emacs only) .. Local variables: mode: rst End:

Related Repositories



Create clusters of VMs on the cloud and configure them with Ansible ...



Web interface for elasticluster ...



Tools used to configure nodes in a cloud cluster created with elasticluster. ...

Top Contributors

arcimboldo riccardomurri nicolasbaer mbookman pinguinkiste verdurin kern3020 corburn jsharpe nicoulaj jwm machbio cjdrake hmartiniano hammer jlothian tzachar Moisan yarikoptic chapmanb cocoy dsteinkraus


-   v1.0-rc1 zip tar
-   v0.2 zip tar
-   1.2.0 zip tar
-   1.1.1 zip tar
-   1.1.0 zip tar
-   1.0.4 zip tar
-   1.0.3 zip tar
-   1.0.2 zip tar
-   1.0.1 zip tar
-   1.0.0 zip tar