Skip to content

Latest commit

 

History

History
476 lines (341 loc) · 20 KB

File metadata and controls

476 lines (341 loc) · 20 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

Changed

  • Bump stackable-operator to 0.108.0 and strum to 0.28 (#683, #685).
  • Gracefully shutdown all concurrent tasks by forwarding the SIGTERM signal (#670).
  • Bump testing-tools to 0.3.0-stackable0.0.0-dev (#664).
  • Deprecate support for 4.1.0 (#668).

Fixed

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

[25.11.0] - 2025-11-07

[25.11.0-rc1] - 2025-11-06

Added

  • Helm: Allow Pod priorityClassName to be configured (#633).
  • Add prometheus.io/path|port|scheme annotations to metrics service (#641).
  • Add end-of-support checker (#647).
    • 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.

Changed

  • Bump stackable-operator to 0.100.1 and product-config to 0.8.0 (#646).

Fixed

  • Previously we had a bug that could lead to missing certificates (#636).

    This could be the case when you specified multiple CAs in your SecretClass. We now correctly handle multiple certificates in this cases. See this GitHub issue for details

[25.7.0] - 2025-07-23

[25.7.0-rc1] - 2025-07-18

Added

  • Adds new telemetry CLI arguments and environment variables (#596).
    • 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.
  • BREAKING: Add Listener support for Hive (#605).
  • Add internal headless service in addition to the metrics service (#613).
  • Add RBAC rule to helm template for automatic cluster domain detection (#615).

Changed

  • BREAKING: Replace stackable-operator initialize_logging with stackable-telemetry Tracing (#585, #592, #596).
    • The console log level was set by HIVE_OPERATOR_LOG, and is now set by CONSOLE_LOG_LEVEL.
    • The file log level was set by HIVE_OPERATOR_LOG, and is now set by FILE_LOG_LEVEL.
    • The file log directory was set by HIVE_OPERATOR_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.
  • BREAKING: Inject the vector aggregator address into the vector config using the env var VECTOR_AGGREGATOR_ADDRESS instead of having the operator write it to the vector config (#589).
  • test: Bump to Vector 0.46.1 (#599).
  • BREAKING: Previously this operator would hardcode the UID and GID of the Pods being created to 1000/0, this has changed now (#603)
    • The runAsUser and runAsGroup fields will not be set anymore by the operator
    • The defaults from the docker images itself will now apply, which will be different from 1000/0 going forward
    • This is marked as breaking because tools and policies might exist, which require these fields to be set
  • Use versioned common structs (#604).
  • BREAKING: Bump stackable-operator to 0.94.0 and update other dependencies (#615).
    • 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. The helm-chart takes care of this.
  • The operator helm-chart now grants RBAC patch permissions on events.k8s.io/events, so events can be aggregated (e.g. "error happened 10 times over the last 5 minutes") (#617).

Fixed

  • Use json file extension for log files (#591).
  • Fix a bug where changes to ConfigMaps that are referenced in the HiveCluster spec didn't trigger a reconciliation (#589).
  • Allow uppercase characters in domain names (#615).

Removed

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

[25.3.0] - 2025-03-21

Added

  • Run a containerdebug process in the background of each Hive container to collect debugging information (#554).
  • Aggregate emitted Kubernetes events on the CustomResources (#560).
  • Support configuring JVM arguments (#572).
  • Support for S3 region (#574).
  • Support for version 4.0.1 as LTS (#579).

Changed

  • Default to OCI for image metadata and product image selection (#561).
  • Increase default memory reservation to 768Mi to avoid OOMKilled (#578).
  • Mark version 4.0.1 as experimental and set 4.0.0 as LTS (#582).

Fixed

  • BREAKING: Remove the hive-env.sh config file, as e.g. setting HADOOP_OPTS in there had absolutely no effect. This is considered a fix, as users expected the envs to be used, but they haven't. Users should use envOverrides instead, which are actually working (#572).
  • BREAKING: The env variable HADOOP_HEAPSIZE was previously put in hive-env.sh and very likely had no effect. It is now passed as env variable, thus working. This might impact your stacklet as the heap size setting now actually has an effect (#572).

[24.11.1] - 2025-01-10

Fixed

  • BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after restart (#544).

[24.11.0] - 2024-11-18

Added

  • Add support for Hive 4.0.0 (#508).
  • 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 (#522).

Changed

  • Reduce CRD size from 487KB to 60KB by accepting arbitrary YAML input instead of the underlying schema for the following fields (#505):
    • podOverrides
    • affinity
  • Use config-utils (#518).

Fixed

  • BREAKING: The fields connection and host on S3Connection as well as bucketName on S3Bucketare now mandatory (#518).
  • An invalid HiveCluster doesn't cause the operator to stop functioning (#523).
  • Fix upgrade path from HMS 3.3.x to 4.0.x. Previously the schemaTool would try to re-create the database tables and would therefore fail. Starting with version 4.0.0 the schemaTool has the flag -initOrUpgradeSchema, which we use to resolve that problem (#539).

[24.7.0] - 2024-07-24

Added

  • Added documentation/tutorial on using external database drivers (#449).

Changed

  • BREAKING: Switch to new image that only contains HMS. For most of the users this is an internal change, but this is breaking for users of custom logging configurations as the key hive-log4j2.properties in the ConfigMap containing the logging configuration must now be called metastore-log4j2.properties (#447).
  • Bump stackable-operator from 0.64.0 to 0.70.0 (#480).
  • Bump product-config from 0.6.0 to 0.7.0 (#480).
  • Bump other dependencies (#483).

Fixed

  • [BREAKING] Move the metastore user and password DB credentials out of the CRD into a Secret containing the keys username and password (#452).
  • Processing of corrupted log events fixed; If errors occur, the error messages are added to the log event (#472).

[24.3.0] - 2024-03-20

Added

  • Various documentation of the CRD (#394).
  • Support user authentication using Kerberos (#402).
  • Helm: support labels in values.yaml (#406).

[23.11.0] - 2023-11-24

Added

  • Default stackableVersion to operator version (#360).
  • Configuration overrides for the JVM security properties, such as DNS caching (#365).
  • Support PodDisruptionBudgets (#376).
  • Support graceful shutdown (#385).

Changed

  • vector 0.26.0 -> 0.33.0 (#361, #377).
  • operator-rs 0.44.0 -> 0.55.0 (#360, #376, #377).
  • jmx-exporter now referenced via soft link without version (#377).
  • Service discovery now exposes the cluster service to enable HA (#382).

Removed

  • Support for 2.3.9 (#377).

[23.7.0] - 2023-07-14

Added

  • Generate OLM bundle for Release 23.4.0 (#338).
  • Missing CRD defaults for status.conditions field (#340).
  • Set explicit resources on all container (#345, #347)
  • Support podOverrides (#352)

Fixed

  • Increase the size limit of the log volume (#354).

Changed

  • Operator-rs: 0.40.2 -> 0.44.0 (#336, #354).
  • Use 0.0.0-dev product images for testing (#337)
  • Use testing-tools 0.2.0 (#337)
  • Added kuttl test suites (#348)

[23.4.0] - 2023-04-17

Added

  • Deploy default and support custom affinities (#315).
  • Openshift compatibility (#323).
  • Incorporated cluster-operation change. (#323).
  • Extend cluster resources for status and cluster operation (paused, stopped) (#324).
  • Cluster status conditions (#326).

Changed

  • [BREAKING]: Support specifying Service type by moving serviceType (which was an experimental feature) to clusterConfig.listenerClass. This enables us to later switch non-breaking to using ListenerClasses for the exposure of Services. This change is breaking, because - for security reasons - we default to the cluster-internal ListenerClass. If you need your cluster to be accessible from outside of Kubernetes you need to set clusterConfig.listenerClass to external-unstable or external-stable (#327).
  • Use operator-rs build_rbac_resources method (#323).
  • operator-rs 0.36.00.40.2 (#323, #324).

Fixes

  • Bugfix: heap formatting and update product images used for tests (#317)

[23.1.0] - 2023-01-23

Changed

  • Updated stackable image versions (#271).
  • operator-rs 0.25.20.32.1 (#274, #283, #292, #298).
  • Consolidated security context user, group and fs group (#277).
  • [BREAKING] Use Product image selection instead of version. spec.version has been replaced by spec.image (#280).
  • Fix role group node selector (#283).
  • [BREAKING] Moved database specification from role / role-group level to top-level clusterConfig (#292).
  • [BREAKING] Moved s3, serviceType and hdfs discovery to top-level clusterConfig (#292).
  • Enable logging (#298).

[0.8.0] - 2022-11-07

Added

  • PVCs for data storage, cpu and memory limits are now configurable (#242).
  • Orphaned resources are deleted (#254).
  • Support HDFS connections (#264).

Changed

  • operator-rs 0.22.0 -> 0.25.2 (#254).

[0.7.0] - 2022-09-06

Added

  • Improved, tested getting started guide via script (#225).
  • Add temporary attribute to support using ClusterIP instead of NodePort service type (#237).

Changed

  • Include chart name when installing with a custom release name (#204, #205).
  • operator-rs 0.21.1 -> 0.22.0 (#206).
  • Add support for Hive 3.1.3 (#211, #213).

Fixed

  • Add missing role to read S3Connection objects (#220).

[0.6.0] - 2022-06-30

Added

  • Reconciliation errors are now reported as Kubernetes events (#137).
  • Use cli argument watch-namespace / env var WATCH_NAMESPACE to specify a single namespace to watch (#142).
  • Warning in docs to use only PostgreSQL <= 10 (#168).
  • Support S3 TLS verification (#198).

Changed

  • operator-rs 0.10.0 -> 0.21.0 (#137, #142, #168, #179).
  • Adapted S3 connection to operator-rs provided structs (#179).
  • [BREAKING] Specifying the product version has been changed to adhere to ADR018 instead of just specifying the product version you will now have to add the Stackable image version as well, so version: 2.3.9 becomes (for example) version: 2.3.9-stackable0.4.0 (#184)

[0.5.0] - 2022-02-14

Added

  • monitoring scraping label prometheus.io/scrape: true (#115).

Changed

  • operator-rs 0.8.00.10.0 (#115).

[0.4.0] - 2022-01-27

Added

  • Discovery via ConfigMaps (#52).
  • Services and Nodeports (#52).

Changed

  • operator-rs 0.5.00.8.0 (#52, #73, #85).
  • Migrated to StatefulSet rather than direct Pod management (#52).
  • Changed version from enum to String (#52).
  • Shut down gracefully (#72).

Removed

  • Command handling and respective CRDs (#52).
  • Hive port and metrics port not configurable anymore and removed from CRD (#52).

[0.3.0] - 2021-12-06

[0.2.0] - 2021-11-12

Changed

  • operator-rs 0.3.00.4.0 (#21).
  • Adapted pod image and container command to docker image (#21).
  • Adapted documentation to represent new workflow with docker images (#21).

[0.1.0] - 2021-10-27

Changed

  • operator-rs : 0.3.0 (#14)
  • Use framework re-exports. (#14)