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

Releases: orange-cloudfoundry/cassandra-boshrelease

Cassandra Bosh Release v12

06 Mar 14:14
Compare
Choose a tag to compare

Change Apache Cassandra version to 3.11.4

Cassandra Bosh Release v11

06 Mar 14:18
Compare
Choose a tag to compare

Fixing cqlsh problem when using new stemcell Ubuntu Xenial by including Python 2.7 distro in this release

Cassandra Bosh release v10

14 Jan 14:23
Compare
Choose a tag to compare

Fixes

  • Add the possibility to change externally the catalog service broker labels (plans and description) #19
  • Add the possibility to configure the listen port used by the broker #79
  • The dashboard_url field must return a string value instead of a field #83

Cassandra BOSH Release v9

19 Dec 17:34
Compare
Choose a tag to compare

New Features

  • TLS encryption support (#52)
  • Cassandra cluster acceptance tests. Contrarily to the Service Broker smoke tests, they don't require an existing Cloud Foundry or the service broker to be deployed (#9)

Deployment

releases:
  - name: cassandra
    version: "9"
    url: https://github.com/orange-cloudfoundry/cassandra-boshrelease/releases/download/v9/cassandra-9.tgz
    sha1: 852f38b691eb8236b94e26151ecf2716682c22d3

Casandra BOSH Release v8

22 Jun 08:21
Compare
Choose a tag to compare

❗️💥Major release containing breaking changes💥❗️

New features

  • Add optional BPM support. To use BPM when running the Cassandra daemon, apply the use-bpm.yml ops file to your deployment (#34).
  • Support 2-nodes Cassandra clusters and 1-node “standalone” setups through the introduction of a new system_auth_keyspace_replication_factor configuration property that defaults to the number of seeds in the cluster.
  • Rework documentation to document BOSH 2.0 usage, base deployment and ops files (#30).
  • Greatly improved the documentation fo configuration properties in the spec file of the cassandra job, based on the current Cassandra documentation (#37).
  • Introduce a new effective mapping of the BOSH availability zones to Cassandra DCs and Racks (#39). Now any topology (Bosh availability zones corresponding to different DCs or different Cloud AZs) can be effectively modeled in your deployment.
  • Support cluster scale-in operations, just decreasing the instances properties of instance groups (#40). You could already add nodes to the cluster (scale-out operations), and now you can gracefully remove nodes. Warning: when scaling then cluster in to one sinlge node, you will experience downtime because that remaining node will be restarted while its config is re-rendered.
  • Simplify the default deployment manifests at maximum, removing unnecessary default values (#41)
  • Introduce a new default-vars.yaml file to be added as a --vars-file argument in bosh deploy, compatible with deploying in BOSH-Lite (#55)
  • Forked a cassandra-deployment repository for maintaining deployment manifests in a dedicated repository
  • Allow updating many times the password of the admin cassandra user (#48)
  • Improved logging of pre-start, post-start and drain scripts (#49)

Upgrade notes

  • A new cassandra-deployment is now holding the deployment files for this Cassandra BOSH Release. Go check it out! The deployment subdirectory here will be deleted in version v9.
  • When upgrading from a v6 or earlier version, please don't modify the cassandra_password at the same time. You should re-use the previous value of cass_pwd. Failing at doing so would lead to ERROR: the password for user 'cassandra' is inconsistent by the post-start script executions of the cassandra job.

Breaking changes

  • Renamed cass_pwd into cassandra_password
  • Renamed cass_KSP into keystore_password
  • The default values for max_heap_size and heap_newsize have changed to an empty string "" value, for the Cassandra-recommended calculator to apply. If you relied on the default values (of 8G and 1G respectively) previously defined, then update your deployment manifest to explicitly set these.
  • Any topology mapping previously defined in topology has to be translated to the new bosh_to_cassandra_topology_mapping scheme.
  • This version drops support for the persistent_directory configuration property. Now /var/vcap/store/cassandra is hardcoded to comply with standard BOSH conventions. If you have customized this property in your deployment manifests, please go back to the default value before upgrading. For details about how to do this, you can refer to the migration path we've suggested in v3 release notes below.

Minor fine-tunning changes

  • Better performance heap sizes below 2GB:
    • The default value of key_cache_size_in_mb has changed from 100 to null (no impact for heap sizes above 2GB)
    • The default value of file_cache_size_in_mb has changed from 512 to null (no impact for heap sizes above 2GB)
  • The default value of commitlog_sync_period_in_ms is now back to a reasonable value of 10000ms instead of 2ms. The former value could have a negative impact on performances.
  • The default value of concurrent_reads has been lowered from 32 to 16 to comply with the Cassandra recommendation, because Bosh-deployed Cassandra nodes only have one disk
  • The default value of memtable_flush_writers has changed from 1 to null (which should resolve to 2 in all cases)
  • The default value of concurrent_compactors has changed from 4 to null (which should resolve to 2 in all cases)
  • A new max_value_size_in_mb config was added, so that the existing native_transport_max_frame_size_in_mb config can actually be tweaked, because it requires the former to be modified accordingly
  • Add new configs for roles_validity_in_ms and credentials_validity_in_ms along the existing permissions_validity_in_ms, for consistency

Deployment

See the standard manifests in the cassandra-deployment repository. Here is the release definition for this specific version:

releases:
  - name: cassandra
    version: "8"
    url: https://github.com/orange-cloudfoundry/cassandra-boshrelease/releases/download/v8/cassandra-8.tgz
    sha1: e8b8221f89a09f66e015d9e2356fa2d4a23d1aa9

Casandra BOSH Release v7

15 Jun 17:09
Compare
Choose a tag to compare
Pre-release

❗️💥Skip directly to release v8💥❗️

There are issues with this release that we unfortunately missed before cutting it. Please don't use it.

Cassandra BOSH Release v6

08 Mar 11:26
Compare
Choose a tag to compare

New features

  • Bumped Cassandra from version 3.9 to the latest stable version 3.11.1
  • Add a separate cqlshrc file, specific to the cassandra-admin-tools job, aimed at implementing more human-friendly settings (compared to the one used by the cassandra job that is aimed at being used by scripts)

Config properties sunset

This version is the last supporting the persistent_directory configuration property. Indeed, there is no better choice than the default /var/vcap/store/cassandra, and any other value would not work when enabling BPM anyway.

In the next release, we'll remove this property and hardcode /var/vcap/store/cassandra to comply with standard BOSH conventions. If you have customized this property in your deployment manifests, then you should plan to go back to the default value before upgrading. For details about how to do this, you can refer to the migration path we've suggested in v3 release notes below.

Cassandra BOSH Release v5

06 Feb 11:03
Compare
Choose a tag to compare

New features

  • Added BOSH 2.0 base deployment manifest and related operation files.
  • Added support for the new cassandra SHIELD plugin.
  • New disable_linux_swap property useful for Bosh-Lite support.

Breaking changes

  • This BOSH release has been renamed cassandra instead of cassandra39-services (that was meant to be bound to version 3.9.x of Cassandra). Please update your deployment manifests accordingly. We did our best to preserve continuity and history. For example, previous final releases can be reconstructed with the new name when checkouting the repo at the v5 tag or later.
  • New separate cassandra-admin-tools job for installing optional admin tools wrappers to deployed instances. You now need to deploy this new job if you rely on the cql-sh.sh wrapper script, for example. These tools are provided for convenience, but they contain the cassandra admin password, so they are not recommended for production because they augment the attack surface of Cassandra nodes.

Cassandra BOSH Release v4

10 Jan 10:34
Compare
Choose a tag to compare

This release adds jmx_exporter as collector to provide metrics to prometheus.

By default, the exporter is enabled. It can be disabled it with the jmx_exporter_enabled: false setting on the cassandra job:

instance_groups:
  - name: cassandra-seeds
    jobs:
      - name cassandra:
        properties:
          ...
          jmx_exporter_enabled: false

Cassandra BOSH Release v3

27 Nov 09:17
Compare
Choose a tag to compare

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.