Configure and install Datastax Cassandra distribution




34,269 latest version

4.6 quality score

Version information

  • 1.1.1 (latest)
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Oct 21st 2015
This version is compatible with:
  • RedHat

Start using this module


midonet/cassandra — version 1.1.1 Oct 21st 2015


Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Reference
  6. Limitations
  7. Development


Puppet module for install Apache Cassandra. It may be deprecated in favour of one of the Puppet's Cassandra tagged modules

Module Description

MidoNet is an Apache licensed production grade network virtualization software for Infrastructure-as-a-Service (IaaS) clouds. This module provides the puppet manifests to install Cassandra, one of its No State DataBase (NSDB) components

To know more details about how MidoNet uses cassandra, check out midonet reference architecture


What cassandra affects

  • This module affects the respository sources of the target system as well as new packages and their configuration files.

Beginning with puppet-cassandra







MidoNet needs Cassandra cluster to keep track of living connections. This class installs cassandra the way that MidoNet needs it.

The easiest way to run the class is:

include ::cassandra

And a cassandra single-machine cluster will be installed, binding the 'localhost' address.

Run a single-machine cluster but binding a hostname or another address would be:

class {'::cassandra':
    seeds        => [''],
    seed_address => ''

For cluster of nodes, use the same 'seeds' value, but change the seed_address of each node:

... On node1:

class {'::cassandra':
    seeds        => ['node_1', 'node_2', 'node_3'],
    seed_address => 'node_1'

... On node2:

class {'::cassandra':
    seeds        => ['node_1', 'node_2', 'node_3'],
    seed_address => 'node_2'

... On node3:

class {'::cassandra':
    seeds        => ['node_1', 'node_2', 'node_3'],
    seed_address => 'node_3'

NOTE: node_X can be either hostnames or ip addresses You can alternatively use the Hiera's yaml style:

    - node_1
    - node_2
    - node_3
::cassandra::seed_address: 'node_1'


We happily will accept patches and new ideas to improve this module. Clone Cassandra's puppet repo in:

git clone

and send patches via:

git review

You can see the state of the patch in:

We are using a Gerrit's rebase-based branching policy. So please, submit a single commit per change. If a commit has been rejected, do the changes you need to do and squash your changes with the previous patch:

git commit --amend

We are using kitchen ( for integration testing and puppet-lint for syntax code convention. To test the module before send a patch, execute:

$ rake lint
$ rake test

Release Notes

  • TODO