Skip to content

Latest commit

 

History

History
309 lines (220 loc) · 14 KB

File metadata and controls

309 lines (220 loc) · 14 KB

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

[26.3.0] - 2026-03-16

[26.3.0-rc1] - 2026-03-16

Added

  • Add conversion webhook (#368).
  • Support objectOverrides using .spec.objectOverrides on the Listener. See objectOverrides concepts page for details (#364).
  • Support serviceOverrides using .spec.serviceOverrides on the ListenerClass (#365).

Changed

  • Bump stackable-operator to 0.108.0 and strum to 0.28 (#373, #375).
  • The operator now deploys the selected ListenerClass preset instead of relying on Helm (#369).
    • This mechanism is currently tied to CRD maintenance.
  • Gracefully shutdown all concurrent tasks by forwarding the SIGTERM signal (#366).
  • OLM deployer doesn't add owner references to cluster scoped objects anymore (#360). Owner references ensure that objects are garbage collected by OpenShift upon operator removal but they cause problems when the operator is updated. This means that cluster wide objects are not removed anymore when the operator is uninstalled. This behaviour is in line with the default behaviour of Helm and OLM.
  • Bump testing-tools to 0.3.0-stackable0.0.0-dev (#363).

Fixed

  • Fix "404 page not found" error for the initial object list (#375).

[25.11.0] - 2025-11-07

[25.11.0-rc1] - 2025-11-06

Added

  • New helm values for csiProvisioner.priorityClassName and csiNodeDriver.priorityClassName (#334).
  • Add end-of-support checker which can be controlled with environment variables and CLI arguments (#339).
    • EOS_CHECK_MODE (--eos-check-mode) to set the EoS check mode. Currently, only "offline" is supported.
    • EOS_INTERVAL (--eos-interval) to set the interval in which the operator checks if it is EoS.
    • EOS_DISABLED (--eos-disabled) to disable the EoS checker completely.
  • One can now configure if NodePorts should pin Pods to nodes using the ListenerClass .spec.pinnedNodePorts. Read on the issue for details (#340).

Changed

  • BREAKING: Split helm values for independent configuration (#334).
    • controller values have been moved to csiProvisioner.controllerService.
    • csiProvisioner values have been moved to csiProvisioner.externalProvisioner
    • csiNodeDriverRegistrar values have been moved to csiNodeDriver.nodeDriverRegistrar.
    • node.driver values have been moved to csiNodeDriver.nodeService.
    • podAnnotations has been split into csiProvisioner.podAnnotations and csiNodeDriver.podAnnotations.
    • podSecurityContext has been split into csiProvisioner.podSecurityContext and csiNodeDriver.podSecurityContext.
    • nodeSelector has been split into csiProvisioner.nodeSelector and csiNodeDriver.nodeSelector.
    • tolerations has been split into csiProvisioner.tolerations and csiNodeDriver.tolerations.
    • affinity has been split into csiProvisioner.affinity and csiNodeDriver.affinity.
  • Bump csi-node-driver-registrar to v2.15.0 (#337).
  • Bump csi-provisioner to v5.3.0 (#338).
  • We now default to the ephemeral-nodes helm preset. Read on the issue for details (#340).
  • olm-deployer: update to align with new operator configuration (#344).
  • Bump stackable-operator to 0.100.2 (#346, #347).

Fixed

  • BREAKING: Default ListenerClass .spec.externalTrafficPolicy to null so that LoadBalancers work everywhere (#347).

[25.7.0] - 2025-07-23

[25.7.0-rc1] - 2025-07-18

Added

  • Adds new telemetry CLI arguments and environment variables (#299).
    • Use --file-log-max-files (or FILE_LOG_MAX_FILES) to limit the number of log files kept.
    • Use --file-log-rotation-period (or FILE_LOG_ROTATION_PERIOD) to configure the frequency of rotation.
    • Use --console-log-format (or CONSOLE_LOG_FORMAT) to set the format to plain (default) or json.
  • Added support for configuring Service.spec.loadBalancerClass and .allocateLoadBalancerNodePorts (#288).
  • Add RBAC rule to helm template for automatic cluster domain detection (#320).

Changed

  • BREAKING: Replace stackable-operator initialize_logging with stackable-telemetry Tracing (#291, #299).
    • operator-binary
      • The console log level was set by LISTENER_OPERATOR_LOG, and is now set by CONSOLE_LOG_LEVEL.
      • The file log level was set by LISTENER_OPERATOR_LOG, and is now set by FILE_LOG_LEVEL.
      • The file log directory was set by LISTENER_OPERATOR_LOG_DIRECTORY, and is now set by FILE_LOG_DIRECTORY (or via --file-log-directory <DIRECTORY>).
    • olm-deployer
      • The console log level was set by STKBL_LISTENER_OLM_DEPLOYER_LOG, and is now set by CONSOLE_LOG_LEVEL.
      • The file log level was set by STKBL_LISTENER_OLM_DEPLOYER_LOG, and is now set by FILE_LOG_LEVEL.
      • The file log directory was set by STKBL_LISTENER_OLM_DEPLOYER_LOG_DIRECTORY, and is now set by FILE_LOG_DIRECTORY (or via --file-log-directory <DIRECTORY>).
    • Replace stackable-operator print_startup_string with tracing::info! with fields.
  • Upgrade csi-provisioner to 5.2.0 (#304).
  • Version CRDs and bump dependencies (#307).
  • BREAKING: Bump stackable-operator to 0.94.0 and update other dependencies (#320).
    • The default Kubernetes cluster domain name is now fetched from the kubelet API unless explicitly configured.
    • This requires operators to have the RBAC permission to get nodes/proxy in the apiGroup "". The helm-chart takes care of this.
    • The CLI argument --kubernetes-node-name or env variable KUBERNETES_NODE_NAME needs to be set. It supersedes the old argument/env variable NODE_NAME. The helm-chart takes care of this.

Fixed

  • Allow uppercase characters in domain names (#320).

Removed

  • Remove the lastUpdateTime field from the stacklet status (#320).
  • Remove role binding to legacy service accounts (#320).

[25.3.0] - 2025-03-21

Added

  • Aggregate emitted Kubernetes events on the CustomResources (#267).
  • OLM deployment helper (#279).

Changed

  • Bump stackable-operator to 0.87.0 (#282).
  • Default to OCI for image metadata (#268).

Fixed

  • Give RBAC permission to delete Services, which is needed to set an ownerRef on already existing Services (#283).
  • Fix the error "failed to write content: File exists (os error 17)" after a Node restart (#284).

[24.11.1] - 2025-01-10

[24.11.0] - 2024-11-18

Added

  • Listener.status.addresses can now be configured to prefer either IP addresses or DNS hostnames (#233, #244).
  • The operator can now run on Kubernetes clusters using a non-default cluster domain. Use the env var KUBERNETES_CLUSTER_DOMAIN or the operator Helm chart property kubernetesClusterDomain to set a non-default cluster domain (#237).

Changed

  • Listener.status.addresses for NodePort listeners now includes replicas that are currently unavailable (#231).
  • BREAKING: Listener.status.addresses now defaults to DNS hostnames for ClusterIP services, rather than IP addresses (#233, #244).
  • Stale Listener subobjects will now be deleted (#232).
  • Tagged Listener Services with the SDP labels (#232).

Fixed

  • Listener.status.addresses is now de-duplicated (#231).
  • Listener controller now listens for ListenerClass updates (#231).
  • Propagate ListenerClass.spec.serviceAnnotations to the created Services (#234).
  • Failing to parse one Listener/ListenerClass should no longer cause the whole operator to stop functioning (#238).
  • Added necessary RBAC permissions for running on Openshift (#246).

[24.7.0] - 2024-07-24

Added

  • Propagate external_traffic_policy from ListenerClass to created Services (#196).
  • Chore: Upgrade csi-provisioner to 5.0.1 and csi-node-driver-registrar to 2.11.1 (#203)

Changed

  • Update the image docker.stackable.tech/k8s/sig-storage/csi-provisioner in the Helm values to v4.0.1 (#194).
  • Update the image docker.stackable.tech/k8s/sig-storage/csi-node-driver-registrar in the Helm values to v2.10.1 (#194).
  • Remove custom h2 patch, as Kubernetes 1.26 has fixed the invalid data from Kubernetes' side. Starting with 24.11 we only support at least 1.27 (as it's needed by OpenShift 4.14) (#219).

Removed

  • Init container deployed by the Helm chart as part of the daemonset. It was added a an automatic migration between SDP versions and is not needed anymore (#174).

Fixed

  • Propagate labels from Listeners to the created Services (#169).

[24.3.0] - 2024-03-20

Added

  • Helm: support labels in values.yaml (#142).
  • Propagate labels from PVCs to Listener objects (#158).

Fixed

  • Replace "Release.Name" with "operator.fullname" in Helm resource names (#131)

[23.11.0] - 2023-11-24

Added

  • Write PodListeners objects for mounted listener volumes (#100).

Fixed

  • Fixed pods being unable to bind listeners with long names (#111).

Changed

  • Remove the requirement for privileged mode (#101).
  • Listener volume mounting is now enforced (#105, #111).

[23.7.0] - 2023-07-14

Added

  • Generate OLM bundle for Release 23.4.0 (#74).
  • Provide automatic migration 23.1 -> 23.4 (#77).
  • Support ClusterIP service type (#83).

Changed

  • operator-rs 0.27.1 -> 0.44.0 (#80, #83).
  • Defined resource limits for all Deployments and Daemonsets (#85).

[23.4.0] - 2023-04-17

Added

  • Allow configuring CSI docker images (#61).

Changed

  • Shortened the registration socket path for Microk8s compatibility (#45).
    • The old CSI registration path will be automatically migrated during upgrade to 23.4.1 (#77).
    • You might need to manually remove /var/lib/kubelet/plugins_registry/listeners.stackable.tech-reg.sock when downgrading.

[23.1.0] - 2023-01-23

Changed

  • Helm installation on OpenShift (#29).
  • operator-rs 0.25.2 -> 0.27.1 (#34).
  • Made kubeletDir configurable (#45).
    • Microk8s users will need to --set kubeletDir=/var/snap/microk8s/common/var/lib/kubelet.