Skip to content
This repository has been archived by the owner on Aug 31, 2022. It is now read-only.

Cassandra BOSH Release v3

Compare
Choose a tag to compare
@OMI69-orange OMI69-orange released this 27 Nov 09:17
· 198 commits to master since this release

This release ships a Cassandra daemon through a single cassandra job, instead of tree separate jobs previously.

The distinction between seeds and non-seeds servers is now done with separate instance groups. The seeds instance group exposes the seeds BOSH Link that all Cassandra nodes have to consume.

Here is a deployment manifest example that show how this link is exposed, self-consumed by Cassandra seeds, and consumed by other nodes:

instance_groups:
  - name: cassandra-seeds
    instances: 3
    jobs:
      - name: cassandra
        provides:
          seeds: { as: cluster_seeds }
        consumes:
          seeds: { from: cluster_seeds }
 ....some properties ...
  - name: cassandra-servers
    instances: 2
    jobs:
      - name: cassandra
        consumes:
          seeds: { from: cluster_seeds }

Breaking changes

The default value of persistent_directory is now /var/vcap/store/cassandra instead of /var/vcap/store/cassandra_{seed,server,injector} previously, depending on which of the 3 jobs you were deploying.

If you're migrating an existing cluster, you'll have tobosh ssh to each cassandra node, monit stop Cassandra, modify /var/vcap/jobs/cassandra_*/conf/cassandra.yaml and update hints_directory, data_file_directories, commitlog_directory, and saved_caches_directory to the new location, move your data, monit start cassandra. Once this is done on all cassandra nodes, you can bosh deploy your cluster with the new v3 of this release.