Releases: k8ssandra/cass-operator
Releases · k8ssandra/cass-operator
v1.30.0
- [CHANGE] #905 Relax the ServerVersion checks to structure only without separating OSS/DSE/HCD.
- [FEATURE] #893 Add support for maxUnavailable (Kubernetes 1.35 and up). This allows to make changes to the Cassandra pods in parallel, thus speeding up changes in larger clusters. Allows integer or percentage setting, but will never target more than one rack at a time.
- [ENHANCEMENT] #888 Add new metrics around all calls to the mgmt-api. This allows to track if some calls are taking longer to execute than expected.
- [ENHANCEMENT] #873 Allow replacing multiple previously bootstrapped nodes in parallel. Also, the CassandraTask to replace pod accepts RackName as alternative to PodName as filtering rule.
v1.29.1
v1.29.0
- [CHANGE] #875 Update to Go 1.25, Kubernetes 1.34 and UBI10 as the base image. Also, Vector to 0.53.0 and other smaller dependency updates. Deprecate CDC support.
- [CHANGE] #876 Drop support for ImageConfig v1beta1, the only supported version from now on is v1beta2
- [CHANGE] #865 Add VolumeMount for the management-api-server-certs-volume volume to all containers instead of only cassandra container
- [CHANGE] #850 The default retry policy for CassandraTask has changed to OnFailure
- [CHANGE] #775 Set generic podFilter as default filter for CassandraTask
- [FEATURE] #885 Add the ability to define retryCount in CassandraTasks
- [FEATURE] #850 Added EnableParallelCleanupWithinRack annotation which speeds up post-scale-out cleanup by processing nodes in parallel within a rack
- [ENHANCEMENT] #841 Add the ability for the rolling restart to restart an entire rack at once. This speeds up the rolling restart process in a cluster that has large amount of nodes in a single rack.
- [ENHANCEMENT] #861 CassandraTasks have now configurable pod concurrency. maxConcurrentPods will determine how many pods in the same rack (never multiple racks) can be processed in parallel. Also, state of the processed pods is now moved to the CassandraTask status with some additional information.
- [BUGFIX] #870 Fix Kustomize deployment to properly add the path to the TLS cert for the webhooks. Remove OperConfig and ImageConfig v1
Release v1.28.1
- [ENHANCEMENT] #868 Add new flag to the controller, --metrics-secure-auth to enable/disable the authentication/authorization of metrics endpoint. Default is disabled (TLS is still enabled by default)
- [BUGFIX] #862 If volumeMount was provided in PodTemplateSpec and AdditionalVolumes, the latter would override the PodTemplateSpec one. This was unintentional, the PodTemplateSpec selection should be the final one.
v1.28.0
- [FEATURE] #838 If cass-operator is not deployed in clusterScoped mode, disable features that require such rights and continue functioning correctly otherwise.
- [ENHANCEMENT] #848 Detect more error cases in the PVC resizing operation and notify the user with an event and a change in the Datacenter status.
- [ENHANCEMENT] #846 Detect the usage of a digest in the ImageConfig tag field and correctly deploy it without requiring a separate tag to be set. In previous versions, setting tag to for example:
v1.0@sha256:hashwould be required to deploy with digest only.
v1.27.1
- [CHANGE] #845 Set default registry to be docker.io on the releases to allow easier modification using new ImageConfig
- [BUGFIX] #843 If MetadataVersion was for some reason missing from Status while the DatacenterName was set to same value as dc.Name and the count of nodes was same as maximum seed count for a rack, the seed labeler would overflow thinking it had too many seeds and remove the existing seeds from such racks.
v1.27.0
- [CHANGE] #822 Remove certain RBAC rights from our Role/ClusterRole that are no longer necessary for the operations in cass-operator
- [FEATURE] #830 Implement new ImageConfig structure where all the parts of the configured images are split to individual components to allow simpler configuration. This allows to override a single value only (such as registry for single image) in the Helm charts. The configuration is moved to a separate ConfigMap with
k8ssandra.io/config: imagelabel and this same ImageConfig is then used in the k8ssandra-operator to ensure all the components are configured from a single place. - [FEATURE] #824 Setting
cassandra.datastax.com/disable-pdb-creation: trueto the CassandraDatacenter will now disable creation of PodDisruptionBudget for the datacenter - [ENHANCEMENT] #827 Add a new watch handler for caches in the startup of controller-runtime. If the caches have failures, we should exit the operator and let it restart. This would alert the user that the operator has issues instead of simply logging these errors.
- [ENHANCEMENT] #831 Add support for Jobs argument in the garbagecollect command for CassandraTask
- [ENHANCEMENT] #833 AdditionalVolumes with VolumeSource (Secret, ConfigMap) are now mounted to the server-config-init initContainer also.
v1.26.0
- [CHANGE] #807 EndpointSlices are now separated by type (IPv4, IPv6, FQDN). FQDN addresses (DNS) are no longer resolved by the cass-operator, but left to the Kubernetes' own implementation. Use of FQDN is not recommended.
- [CHANGE] #803 Modify additional seeds to use discoveryv1.EndpointSlice instead of deprecated corev1.Endpoints and corev1.EndpointSubsets
- [CHANGE] #811 Upgrade the cass-config-builder image to the new ubi10 version
- [ENHANCEMENT] #778 Migrate to golangici-lint 2.x series and use stricter rules.
- [ENHANCEMENT] #814 If IS_LOCAL is supported by the mgmt-api, use that information for the HostID Status updates instead of trying to find the IPs.
- [BUGFIX] #808 Decommission of the Datacenter might hang on last pod being decommissioned due to a check in startOneNodePerRack for eligible pods to be started
- [BUGFIX] #806 If cassandra container crashes during Starting phase we could get stuck in findStartingNodes for a long period of time. Modify the behavior to kill these pods instantly.
- [BUGFIX] #816 If pod terminated, we would not usually be allowed to override rack settings because the deleteStuckNodes would clean up the error code before conditions to do forced upgrade were met.
v1.25.0
v1.25.0
- [ENHANCEMENT] #664 Allow skipping deletion of PVCs when the CassandraDatacenter is deleted. Set annotation cassandra.datastax.com/delete-pvc: "false" to prevent deletion, default is still to delete.
- [BUGFIX] #798 If all the pods are in the Pending state, we would skip the startOneNodeRack and might start a pod in the startAllRacks phase which would lead to 0 seeds in a new cluster.
v1.24.0
- [CHANGE] #718 Update Kubernetes dependencies to 0.31.0 and controller-runtime to 0.19.x, remove controller-config and instead return command line options as the only way to modify controller-runtime options. cass-operator specific configuration will still remain in the OperatorConfig CRD. Removes kube-auth from the /metrics endpoint from our generated configs and instead adds network-policy generation as one optional module for Kustomize.
- [CHANGE] #527 Migrate the Kustomize configuration to Kustomize 5 only. Support for using Kustomize 4.x to generate config is no longer supported.
- [CHANGE] #763 If gossip information has ENDPOINT_IP, use it as the IP for the replacement job instead of NATIVE_ADDRESS_AND_PORT
- [CHANGE] #757 Change starting sequence of pods to match StatefulSet controller's behavior. First start the last pod and move towards 0.
- [CHANGE] #780 Make readOnlyRootFilesystem the default for DSE 6.8/6.9, OSS Cassandra 4.1 and newer and HCD. Modify securityContext settings of all containers in this case.
- [FEATURE] #583 If there are pods in failed state (CrashLoopBackOff, ImagePullBackOff or ErrImagePull), restartCount of a container/initContainer is more than zero with termination code >0 or we have a SchedulingFailed event, allow StatefulSet updates even if previous ones haven't been rolled yet. ForceUpgradeRacks will no longer remove itself from the CassandraDatacenter to prevent self modifying Spec.
- [FEATURE] #747 Add ScheduledTask to provide a cronjob like functionality to automatically create a CassandraTask on certain intervals.
- [ENHANCEMENT] #729 Modify NewMgmtClient to support additional transport option for the http.Client
- [ENHANCEMENT] #737 Before issuing PVC deletion when deleting a datacenter, verify the PVCs that match the labels are not actually used by any pods.
- [BUGFIX] #744 If StatefulSet was manually modified outside CassandraDatacenter, do not start such pods as they would need to be decommissioned instantly and could have IP conflict issues when doing so.
- [BUGFIX] #696 If the first pod in the rack was not available to be started (such as in Pending state), the startOneNode would keep waiting for it indefinitely.