April 13, 2025
+ 12

Autonomous Operator 2.8 introduces a preview of our new Cluster Migration functionality well as a number of other improvements and minor fixes.

Take a look at the What’s New page for a list of new features and improvements that are available in this release.

Installation

Upgrading to Autonomous Operator 2.8

The necessary steps needed to upgrade to this release depend on which version of the Autonomous Operator you are upgrading from.

Upgrading from 1.x, 2.0, or 2.1

There is no direct upgrade path from versions prior to 2.2.0. To upgrade from a 1.x, 2.0.x, or 2.1.x release, you must first upgrade to 2.4.x, paying particular attention to supported Kubernetes platforms and Couchbase Server versions. Refer to the Operator 2.4 upgrade steps if upgrading from a pre-2.2 release.

Upgrading from 2.2, 2.3, 2.4, 2.5, 2.6, or 2.7

There are no additional upgrade steps when upgrading from these versions, and you may follow the standard upgrade process.

For further information read the Couchbase Upgrade concepts page.

Release 2.8.0

Couchbase Autonomous Operator 2.8.0 was released in March 2025.

Changes in Behaviour

Admission Controller Changes

The Dynamic Admission Controller (DAC) will now warn if any cluster settings don’t match our Best Practices for Production Deployments.

The DAC will now prevent changes to the CouchbaseCluster spec while a hibernation is taking place. If hibernation is enabled while a cluster is migrating, upgrading, scaling, or rebalancing, that process will conclude before the cluster enters hibernation. The DAC will warn when this is the case, and it will be visible in the operator logs.

To prevent any invalid resources failing to reconcile (i.e. if the DAC is not deployed in the current environment), the DAC Validation is now run at the beginning of the reconciliation loop. Any invalid resources will be skipped for reconciliation, marked as NotValid, and logged.

Bucket and Index Service Settings

In a previous version of the Operator, enablePageBloomFilter was unfortunately missed from the Index Service settings. This has been addressed in CAO 2.8.0, and it is now available as couchbaseclusters.spec.cluster.indexer.enablePageBloomFilter.

Until CAO 2.8.0, Bucket Compaction settings were only available to be set in the CouchbaseCluster resource, at couchbaseclusters.spec.cluster.autoCompaction. These settings have now been added to the CouchbaseBucket resource at couchbasebuckets.spec.autoCompaction.

Prior to Operator 2.8.0, the above settings could still be set directly on the cluster.

To avoid these being reset to default values during the CAO upgrade, any of the above settings that have been changed must be added to the appropriate resource during the upgrade.

Specifically, this needs to be done after updating the CRDs, and before installing the new Operator

For further information see Update Existing Resources.

Metrics Changes

A number of new metrics have been added, see Prometheus Metrics Reference for details.

It is now possible to include the Couchbase Cluster UUID, or Cluster UUID and Cluster Name, as labels with any Operator metric that is related to a specific Couchbase Cluster. This can be enabled by setting optional-metric-labels to either uuid-only or uuid-and-name, when using cao create operator or cao generate operator.

While adding the Couchbase Cluster UUID and Cluster Name labels, it was discovered that there were inconsistencies regarding the Kubernetes Namespace and Cluster Resource Name labels in some of the existing metrics. Some had separate labels for namespace and name, and some had a combined namespace/name label. In order to provide consistency, all metrics by default now have separate name and namespace labels. The previous behavior, where a small number of metrics had the combined form of the label, can be achieved by setting separate-cluster-namespace-and-name to false, when using cao create operator or cao generate operator.

Annotation Changes

Storage Backend Migration

As an enhancement to the Couchstore/Magma migration functionality added in Operator 2.7, CAO 2.8.0 adds two new annotations:

History Retention

The annotations related to History Retention, that were added in Operator 2.4.1, have now been added to the CouchbaseBucket, and CouchbaseCollection resources, at couchbasebuckets.spec.historyRetention, and couchbasecollections.spec.history, respectively.

The History Retention annotations should be considered deprecated, and it should be noted that if used, they will take precedence over the equivalent values in the resources. Care should be taken to make sure that the annotations are removed as soon as the resources have been updated with the new attributes.

Fixed Issues

Issue Description

Summary: Operator commences an In-place Upgrade when the cluster is under-resourced.

Summary: Operator tries to change invalid bucket configurations in a loop.

Summary: Operator crashes if Incremental Backup is missing schedule.

Summary: Crash in Operator due to invalid memory access.

Summary: Upgrade Swap Rebalance is retried with different parameters on Operator Pod deletion.

Summary: Hibernation fails to bring back any Pod with error extracting image version.

Summary: Shadowed Secret did not get updated.

Summary: Unable to set -1 for Collection-level maxTTL.

Summary: Operator loses track of pending Pods when an Eviction of the Operator Pod occurs.

Summary: Crash in handleVolumeExpansion if enableOnlineVolumeExpansion is True but no Volume Mounts configured.

Summary: Clear Upgrade condition if the Operator isn’t performing an upgrade.

Summary: When scaling down, Cluster does not maintain balance across Server Groups.

Summary: DAC prevents configuration of multiple XDCR Replications of same Buckets to different remote Clusters.

Summary: Self-Certification: Artifacts PVC should use --storage-class parameter when creating the Certification Pod.

Summary: Operator container crashes when there is a managed Scope/Collection Group added for the Ephemeral Bucket.

Known Issues

Issue Description

Summary: It is not currently possible to set couchbaseclusters.spec.cluster.indexer.redistributeIndexes from True to False during a reconciliation.

Summary: Metric couchbase_operator_memory_under_management_bytes is incorrectly showing 0.

Summary: Metric couchbase_operator_cpu_under_management is incorrectly showing 0.

Summary: Operator tries to migrate storage backend of buckets even before couchbase cluster is in 7.6.0+.

Feedback

You can have a big impact on future versions of the Operator (and its documentation) by providing Couchbase with your direct feedback and observations. Please feel free to post your questions and comments to the Couchbase Forums.

Licenses for Third-Party Components

The complete list of licenses for Couchbase products is available on the Legal Agreements page. Couchbase is thankful to all of the individuals that have created these third-party components.