Cassandra Operator release notes

The Cass Operator release notes provide information about the product's features, prerequisites, changes per release, upgrade considerations, and limitations.

The Cass Operator release notes provide information about the product's features, prerequisites, changes per release, upgrade considerations, and limitations.

Cass Operator features

Cass Operator v1.6.0 simplifies the process of deploying and managing Apache Cassandra® or DataStax Enterprise (DSE) in a Kubernetes cluster.

Key Cass Operator features include:
  • Support for Apache Cassandra 3.11.7
  • Support for DSE 6.8.4
  • Support for the following Kubernetes platforms:
    • Open-source Kubernetes
    • Amazon Elastic Kubernetes Service (EKS)
    • Google Kubernetes Engine (GKE)
    • Microsoft Azure Kubernetes Service (AKS)
    • Pivotal Container Service (PKS)
    Tip: Kubernetes v1.18 or later is recommended, but v1.15 has been tested. For the supported manifests, refer to the sample YAML files in this GitHub folder.
  • Hosted operator YAML manifests and CassandraDatacenter examples. The YAML files help you get up and running quickly with Cassandra or DSE in Kubernetes. For the CassandraDatacenter details, see the examples:
  • Self orchestration for your Cassandra or DSE resources as a result of operating in Kubernetes.
  • Proper token ring initialization, with only one node bootstrapping at a time
  • Seed node management - one per rack, or three per datacenter, whichever is more
  • Server configuration integrated into the CassandraDatacenter CustomResourceDefinition (CRD)
  • Rolling reboot nodes by changing the CRD
  • Store data in a rack-safe way - one replica per cloud AZ
  • Scale racks up or down
  • Option via configuration to force rack upgrades if a pod hosted by a rack does not start
  • Replace dead/unrecoverable nodes
  • Multi DC clusters (limited to one Kubernetes namespace)

Cass Operator prerequisites

  • The kubectl CLI tool.
  • A Kubernetes cluster.
    Tip: If you're new to Kubernetes, see Create a Kubernetes cluster for a walkthrough of the steps.
    As noted above, Kubernetes v1.18 or later is recommended, but v1.15 has been tested. For the supported manifests, refer to the sample YAML files in this GitHub folder.
  • The ability to download Docker Hub images from within the Kubernetes cluster.
  • At least one Kubernetes worker node per Cassandra or DSE instance.

Cass Operator v1.6.0 changes

Release date: 25 February 2021

For links to the source updates in GitHub, see the Cass Operator 1.6.0 changelog.

Features:
  • Upgrade to Go 1.14 #347
  • Add support for specifying additional PersistentVolumeClaims #327
  • Add support for specify rack labels #292
Bug fixes:
  • Retry decommission to prevent cluster from getting stuck in decommission state #356
  • Set explicit tag for busybox image #339
  • Incorrect volume mounts are created when adding an init container with volume mounts #309
Docs/tests:

Cass Operator v1.5.1 changes

Release date: 21 January 2021

For links to the source updates in GitHub, see the Cass Operator 1.5.1 changelog.

Features:
  • Fixed reconciling logic in VMware k8s environments #361 #342
  • Retry decommission if worker nodes are too slow to start it #356
  • In addition to existing support for Apache Cassandra 3.11.7, added support in Cass Operator 1.5.1 for Apache Cassandra 3.11.8 and 3.11.9, via the management-api images.
    Tip: When configuring the serverImage setting as 3.11.7, you could simply specify that string in the CassandraDatacenter spec. However, with later Cassandra 3.11.x point releases, you must fully qualify the image in the CassandraDatacenter spec. For example, you could specify one of the following:
    •   serverImage: datastax/cassandra-mgmtapi-3_11_8:v0.1.22
    •   serverImage: datastax/cassandra-mgmtapi-3_11_9:v0.1.22

    Check the DataStax Docker Hub server images for the latest build numbers (such as v0.1.22) per release.

  • Important: The management-api images that have the v0.1.22 tag are built to run Cassandra as non-root. By default, Cass Operator assumes Cassandra is run as root. For this reason, you should also specify dockerImageRunsAsCassandra: true in the CassandraDatacenter spec. When that Boolean is set to true, cass-operator adds a PodSecurityContext to explicitly configure the Cassandra pod to run as non-root user/group.

Cass Operator v1.5.0 changes

Release date: 20 November 2020

For links to the source updates in GitHub

, see the Cass Operator 1.5.0 changelog.

Features:
  • Allow configuration of the system.log tail-er [#311]
  • Update Kubernetes support to cover 1.15 to 1.19 [#296] and #304
  • Specify more named ports for advanced workloads, and additional ports for ClusterIP service [#289 and #291]
  • Support WATCH_NAMESPACE=* to watch all namespaces [#286]
  • Support arbitrary Cassandra and DSE versions, using a regex for validation [#271]
  • Support running cassandra as a non-root cassandra user [#275]
  • Always gracefully drain Cassandra nodes before pod termination, and make terminationGracePeriodSeconds configurable [#269]
  • Add canaryUpgradeCount to support canary upgrade of a single node [#258]
  • Support merging all user customizations into the Cassandra podTemplateSpec [#263]
  • Add DSE 6.8.4 support [#257]
  • Add arm64 support [#238]
  • Support safely scaling down a datacenter, decommissioning Cassandra nodes [#242 and ##265]
  • Add support to override the default registry for all container images [#228]
  • Better helm chart support for branch / master builds on private Docker registries [#236]
  • Support for specific reconciliation logic in VMware k8s environments [#203, #204, #206, #224, #259, #288]
Bug fixes:
  • Increase default init container CPU for better startup performance [#261]
  • Re-enable the most common quiet period [#253]
  • Added label to all-pods service to narrow metrics scrape selection [#277]
Docs/tests:
  • Add test for infinite reconcile [#220]
  • Added keys from datastax/charts and updated README [#221]
  • Support integration tests with k3d v3 [#248]
  • Default to KIND for integration tests [#252]
  • Run OSS/DSE integration smoke tests in github workflow [#267]

Cass Operator changes in prior versions

See the changelog for each version:

Cass Operator limitations

  • This release of Cass Operator is compatible only with specific Cassandra and DSE docker images that are hosted in the DataStax Docker Hub repository.
  • Cass Operator supports cassandra workloads of Apache Cassandra and DSE. Cass Operator provides experimental support for DSE Advanced Workloads such as analytics, graph, and search.
  • There is no facility for multi-region Cassandra or DSE clusters. Cass Operator functions within the context of a single Kubernetes cluster, which typically also implies a single geographic region.