-
-
Notifications
You must be signed in to change notification settings - Fork 13
chore(tracking): Release Notes for SDP 25.3.0 #723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 19 commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
453b6cc
chore: Update release template
NickLarsenNZ 7c092fe
chore: Add 25.3.0 release notes partial
NickLarsenNZ f731c5e
chore: Add link to 25.3.0 release notes partial
NickLarsenNZ d3f762f
chore: Update release template
NickLarsenNZ 5e0fc56
chore(25.3.0): Add and link product version changes
NickLarsenNZ 3169f48
chore(25.3.0): Add upgrade intructions using stackablectl
Techassi 196bb71
chore(25.3.0): Add upgrade intructions using helm
Techassi bc6999b
chore: Add upgrade instructions to release template
Techassi bafc9bd
chore(25.3.0): Add supported K8s and OpenShift versions
Techassi 673acb0
chore: Add supported K8s and OpenShift section to release template
Techassi f0c14b4
chore: Update ui submodule
Techassi ae8fa7f
chore(25.3.0): Add Trino breaking change
NickLarsenNZ 456e119
chore(25.3.0): Add platform feature for Additional trust roots
NickLarsenNZ b462c5f
chore(25.3.0): Add s3 region breaking change
NickLarsenNZ 4778de3
chore(25.3.0): Add OPA rego changes
NickLarsenNZ a378e19
chore(25.3.0): Add Druid changes
NickLarsenNZ 3458f69
chore(25.3.0): Add Listener volume bug fix
NickLarsenNZ 24324dc
chore(25.3.0): Add experimentalCertManager key length feature
NickLarsenNZ 97c7c2d
chore(25.3.0): Add TLS certificate configurable lifetime feature
NickLarsenNZ 6af4ef9
chore(25.3.0): Add containerdebug diagnostics feature
NickLarsenNZ a42882c
chore(25.3.0): Add airflow breaking change for dagsGitSync[].wait Dur…
NickLarsenNZ 025a7ff
chore(25.3.0): Add Hive healthcheck known issue
NickLarsenNZ ec67eec
chore(25.3.0): Add Hive memory reservation increase
Techassi 47c4218
chore(25.3.0): Add OCI registry migration section
Techassi 1b01286
chore(25.3.0): Add checksum/config annotation section
Techassi 85a17e5
chore(25.3.0): Add Kafka -nodeport CM deprecation section
Techassi f673b70
chore(25.3.0): Add NiFi Hadoop library change
Techassi 471f5eb
chore(25.3.0): Add DNS lookup perfomance improvements
Techassi 7c0d9bb
chore: Update headlines
Techassi d080420
chore(25.3.0): Add stackablectl and demo section
Techassi 457a934
chore(25.3.0): Add fixed vulnerabilities
Techassi 8fc09f0
chore(25.3.0): Add jmx_exporter bug fix
NickLarsenNZ a6a9732
chore: Merge branch 'main' into docs/release-notes-25.3.0
Techassi 400d908
chore: Sigh, Antora...
Techassi 7c603d6
chore(25.3.0): Add Airflow and Superset OPA auth integration
Techassi e13eeb2
chore(25.3.0): Add JVM argument override support
Techassi 098969e
fix(25.3.0): Add .adoc extension to xref
Techassi e7b1f5b
chore: Use updated heading sizes
Techassi afaf600
chore(25.3.0): Add more links
Techassi c730be5
chore(25.3.0): Remove leftover section from template
Techassi 1b680d7
chore(25.3.0): Improve druid-opa-authorizer xref
Techassi e0713c6
chore: Update release and product versions in getting_started page
NickLarsenNZ cd57e0e
chore(25.3.0): Put each sentence on a new line
NickLarsenNZ e359753
chore: Remove mention of airflowdbs crd
NickLarsenNZ 7ca71a1
chore(25.3.0): Fix spelling errors
Techassi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,285 @@ | ||
// Here are the headings you can use for the next release. Saves time checking indentation levels. | ||
// Take a look at release 24.11 to see how to structure patch releases. | ||
|
||
== Release 25.3 | ||
|
||
=== 25.3.0 | ||
|
||
Released on 2025-03-21. | ||
|
||
==== New platform features | ||
|
||
Security:: | ||
|
||
* Additional trust roots can be specified in an `autoTls` SecretClass. See xref:secret-operator:secretclass.adoc[Documentation]. | ||
NickLarsenNZ marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* The Stackable Secret Operator's `experimentalCertManager` backend now supports specifying custom key lengths. | ||
The `autoTls` backend has supported this since 24.11. | ||
* Users can now configure the lifetime of self-signed certificates directly in the product's custom resources which influences the frequency of pod restarts. | ||
Details can be found at xref:concepts:operations/temporary_credentials_lifetime.adoc[]. | ||
|
||
==== Platform improvements | ||
|
||
Authorization:: | ||
|
||
OPA Rego rules no longer require the `future.keywords` import. | ||
They have been stabilised in OPA 1.0 and are now implicitly imported. | ||
|
||
Druid:: | ||
|
||
The default memory limits have been increased for following roles: | ||
* Coordinator: From `512Mi` to `768Mi` | ||
* Middle Manager: From `1Gi` to `1500Mi`. | ||
|
||
NOTE: Upgrades to existing deployments could cause memory limits to be reached on the node/namespace. | ||
|
||
Bug fixes:: | ||
|
||
* Previously, pods with a Listener volume were stuck in an "Unknown" state after their node was restarted. | ||
With this release, Listener volumes are correctly republished and the pods restart as expected. | ||
|
||
==== Platform deprecations | ||
|
||
==== Product versions | ||
|
||
As with previous SDP releases, many product images have been updated to their latest versions. | ||
The LTS version has in many cases also been adjusted in line with our xref:ROOT:policies.adoc[support policy]. | ||
|
||
Refer to the xref:operators:supported_versions.adoc[supported versions] documentation for a complete overview including LTS versions or deprecations. | ||
|
||
===== New versions | ||
|
||
The following new product versions are now supported: | ||
|
||
* Apache Airflow: https://github.com/stackabletech/docker-images/issues/1017[2.10.4] | ||
* Apache Druid: https://github.com/stackabletech/docker-images/issues/965[31.0.1], https://github.com/stackabletech/docker-images/issues/965[30.0.1 (LTS)] | ||
* Apache Hadoop: https://github.com/stackabletech/docker-images/issues/1018[3.4.1 (LTS)] | ||
* Apache HBase: https://github.com/stackabletech/docker-images/issues/972[2.6.1 (LTS)] | ||
* Apache Hive: https://github.com/stackabletech/docker-images/issues/1019[4.0.0 (LTS)], https://github.com/stackabletech/docker-images/issues/1019[4.0.1 (experimental)] | ||
* Apache Kafka: https://github.com/stackabletech/docker-images/issues/968[3.7.2 (LTS)], https://github.com/stackabletech/docker-images/issues/968[3.9.0] | ||
* Apache NiFi: https://github.com/stackabletech/docker-images/issues/966[1.28.1], https://github.com/stackabletech/docker-images/issues/966[2.2.0 (experimental)] | ||
* Apache Spark: https://github.com/stackabletech/docker-images/issues/1016[3.5.5 (LTS)] | ||
* Apache Superset: https://github.com/stackabletech/docker-images/issues/970[4.1.1] | ||
* Apache ZooKeeper: https://github.com/stackabletech/docker-images/issues/1020[3.9.3 (LTS)] | ||
* Open Policy Agent: https://github.com/stackabletech/docker-images/issues/998[1.0.1] | ||
* Trino: https://github.com/stackabletech/docker-images/issues/971[470] | ||
|
||
===== Deprecated versions | ||
|
||
The following product versions are deprecated and will be removed in a later release: | ||
|
||
* Apache Druid: https://github.com/stackabletech/docker-images/issues/965[30.0.0] | ||
* Apache Hadoop: https://github.com/stackabletech/docker-images/issues/1018[3.4.0] | ||
* Apache HBase: https://github.com/stackabletech/docker-images/issues/972[2.4.18] | ||
* Apache Hive: https://github.com/stackabletech/docker-images/issues/1019[3.1.3] | ||
* Apache Kafka: https://github.com/stackabletech/docker-images/issues/968[3.8.0], https://github.com/stackabletech/docker-images/issues/968[3.7.1] | ||
* Apache Spark: https://github.com/stackabletech/docker-images/issues/1016[3.5.2] | ||
* Apache ZooKeeper: https://github.com/stackabletech/docker-images/issues/1020[3.9.2] | ||
* Open Policy Agent: https://github.com/stackabletech/docker-images/issues/969[0.67.1] | ||
* Trino: https://github.com/stackabletech/docker-images/issues/971[455] | ||
|
||
===== Removed versions | ||
|
||
The following product versions are no longer supported (although images for released product versions remain available https://repo.stackable.tech/#browse/browse:docker:v2%2Fstackable[here]): | ||
|
||
* Apache Airflow: https://github.com/stackabletech/docker-images/issues/1017[2.10.2], https://github.com/stackabletech/docker-images/issues/1017[2.9.2] | ||
* Apache Druid: https://github.com/stackabletech/docker-images/issues/965[26.0.0] | ||
* Apache HBase: https://github.com/stackabletech/docker-images/issues/972[2.6.0] | ||
* Apache NiFi: https://github.com/stackabletech/docker-images/issues/966[2.0.0] | ||
* Apache Spark: https://github.com/stackabletech/docker-images/issues/1016[3.5.1] | ||
* Open Policy Agent: https://github.com/stackabletech/docker-images/issues/969[0.66.0] | ||
|
||
==== stackablectl | ||
|
||
Techassi marked this conversation as resolved.
Show resolved
Hide resolved
|
||
==== Supported Kubernetes versions | ||
|
||
This release supports the following Kubernetes versions: | ||
|
||
* `1.32` | ||
* `1.31` | ||
* `1.30` | ||
|
||
These Kubernetes versions are no longer supported: | ||
|
||
* `1.29` | ||
|
||
==== Supported OpenShift versions | ||
|
||
This release is available in the RedHat Certified Operator Catalog for the following OpenShift versions: | ||
|
||
* `4.17` | ||
* `4.16` | ||
* `4.15` | ||
* `4.14` | ||
|
||
==== Breaking changes | ||
|
||
Of the changes mentioned above, the following are breaking (or could lead to breaking behaviour), and you will need to adapt your existing CRDs accordingly: | ||
|
||
===== General | ||
|
||
S3 bucket `region` can now be configured for `S3Connection`, `S3Bucket`, and inline S3 references. It defaults to `us-east-1`. | ||
|
||
NOTE: Products that use the Hadoop S3 implementation previously defaulted to `us-east-2`, so if there are bucket connectivity problems, you will need to set the region `us-east-2` explicitly. | ||
|
||
===== Druid operator | ||
|
||
NOTE: All Druid versions are affected. | ||
|
||
If druid-opa-authorizer is used, `input.user` needs to be replaced by `input.authenticationResult.identity` in applicable Rego rules. | ||
Change in https://github.com/stackabletech/druid-opa-authorizer/pull/85[Add authenticationResponse context to OpaInput]. | ||
|
||
===== OPA operator | ||
|
||
* Using `if` for all rules and `contains` for multi-value rules is now mandatory. | ||
* `strict` mode is now enabled by default. For more upgrade information, read the https://www.openpolicyagent.org/docs/latest/v0-upgrade/#upgrading-rego[Upgrading Rego] section of the official documentation. | ||
|
||
===== Trino operator | ||
|
||
Trino now uses the native S3 implementation which has the following requirements for S3 connections: | ||
|
||
* TLS is always enabled and cannot be disabled. | ||
* Client-side encryption is not supported. Server-side encryption (SSE) is the recommended alternative. | ||
* Multipart (non-streaming) writes and upload are not supported. | ||
|
||
Legacy S3 support (via Hadoop) has been disabled and will be removed in a future version of Trino. | ||
|
||
===== Stackable Operator for Example Product | ||
Techassi marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
* Description of the change 1 | ||
* Description of the change 2 | ||
|
||
.Breaking changes details | ||
[%collapsible] | ||
==== | ||
* `spec.a`: This field has been removed. | ||
* `spec.b`: This field has been changed to a number. | ||
==== | ||
|
||
==== Upgrade from 24.11 | ||
|
||
===== Using stackablectl | ||
|
||
Uninstall the `24.11` release | ||
|
||
[source,console] | ||
---- | ||
$ stackablectl release uninstall 24.11 | ||
|
||
Uninstalled release '24.11' | ||
|
||
Use "stackablectl release list" to list available releases. | ||
# ... | ||
---- | ||
|
||
Afterwards you will need to upgrade the CustomResourceDefinitions (CRDs) installed by the Stackable Platform. | ||
The reason for this is that helm will uninstall the operators but not the CRDs. | ||
This can be done using `kubectl replace`. | ||
|
||
[source] | ||
---- | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/airflow-operator/25.3.0/deploy/helm/airflow-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/commons-operator/25.3.0/deploy/helm/commons-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/druid-operator/25.3.0/deploy/helm/druid-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hbase-operator/25.3.0/deploy/helm/hbase-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hdfs-operator/25.3.0/deploy/helm/hdfs-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hive-operator/25.3.0/deploy/helm/hive-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/kafka-operator/25.3.0/deploy/helm/kafka-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/listener-operator/25.3.0/deploy/helm/listener-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/nifi-operator/25.3.0/deploy/helm/nifi-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/opa-operator/25.3.0/deploy/helm/opa-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/secret-operator/25.3.0/deploy/helm/secret-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/spark-k8s-operator/25.3.0/deploy/helm/spark-k8s-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/superset-operator/25.3.0/deploy/helm/superset-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/trino-operator/25.3.0/deploy/helm/trino-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/zookeeper-operator/25.3.0/deploy/helm/zookeeper-operator/crds/crds.yaml | ||
---- | ||
|
||
[source,console] | ||
---- | ||
customresourcedefinition.apiextensions.k8s.io "airflowclusters.airflow.stackable.tech" replaced | ||
customresourcedefinition.apiextensions.k8s.io "airflowdbs.airflow.stackable.tech" replaced | ||
customresourcedefinition.apiextensions.k8s.io "authenticationclasses.authentication.stackable.tech" replaced | ||
customresourcedefinition.apiextensions.k8s.io "s3connections.s3.stackable.tech" replaced | ||
... | ||
---- | ||
|
||
Install the `25.3` release | ||
|
||
[source,console] | ||
---- | ||
$ stackablectl release install 25.3 | ||
|
||
Installed release '25.3' | ||
|
||
Use "stackablectl operator installed" to list installed operators. | ||
---- | ||
|
||
===== Using Helm | ||
|
||
Use `helm list` to list the currently installed operators. | ||
|
||
You can use the following command to uninstall all operators that are part of the `24.11` release: | ||
|
||
[source,console] | ||
---- | ||
$ helm uninstall airflow-operator commons-operator druid-operator hbase-operator hdfs-operator hive-operator kafka-operator listener-operator nifi-operator opa-operator secret-operator spark-k8s-operator superset-operator trino-operator zookeeper-operator | ||
release "airflow-operator" uninstalled | ||
release "commons-operator" uninstalled | ||
... | ||
---- | ||
|
||
Afterward you will need to upgrade the CustomResourceDefinitions (CRDs) installed by the Stackable Platform. | ||
The reason for this is that helm will uninstall the operators but not the CRDs. This can be done using `kubectl replace`: | ||
|
||
[source] | ||
---- | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/airflow-operator/25.3.0/deploy/helm/airflow-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/commons-operator/25.3.0/deploy/helm/commons-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/druid-operator/25.3.0/deploy/helm/druid-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hbase-operator/25.3.0/deploy/helm/hbase-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hdfs-operator/25.3.0/deploy/helm/hdfs-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/hive-operator/25.3.0/deploy/helm/hive-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/kafka-operator/25.3.0/deploy/helm/kafka-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/listener-operator/25.3.0/deploy/helm/listener-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/nifi-operator/25.3.0/deploy/helm/nifi-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/opa-operator/25.3.0/deploy/helm/opa-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/secret-operator/25.3.0/deploy/helm/secret-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/spark-k8s-operator/25.3.0/deploy/helm/spark-k8s-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/superset-operator/25.3.0/deploy/helm/superset-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/trino-operator/25.3.0/deploy/helm/trino-operator/crds/crds.yaml | ||
kubectl replace -f https://raw.githubusercontent.com/stackabletech/zookeeper-operator/25.3.0/deploy/helm/zookeeper-operator/crds/crds.yaml | ||
---- | ||
|
||
[source,console] | ||
---- | ||
customresourcedefinition.apiextensions.k8s.io "airflowclusters.airflow.stackable.tech" replaced | ||
customresourcedefinition.apiextensions.k8s.io "airflowdbs.airflow.stackable.tech" replaced | ||
customresourcedefinition.apiextensions.k8s.io "authenticationclasses.authentication.stackable.tech" replaced | ||
customresourcedefinition.apiextensions.k8s.io "s3connections.s3.stackable.tech" replaced | ||
... | ||
---- | ||
|
||
Install the `25.3` release | ||
|
||
[source,console] | ||
---- | ||
helm repo add stackable-stable https://repo.stackable.tech/repository/helm-stable/ | ||
helm repo update stackable-stable | ||
helm install --wait airflow-operator stackable-stable/airflow-operator --version 25.3.0 | ||
helm install --wait commons-operator stackable-stable/commons-operator --version 25.3.0 | ||
helm install --wait druid-operator stackable-stable/druid-operator --version 25.3.0 | ||
helm install --wait hbase-operator stackable-stable/hbase-operator --version 25.3.0 | ||
helm install --wait hdfs-operator stackable-stable/hdfs-operator --version 25.3.0 | ||
helm install --wait hive-operator stackable-stable/hive-operator --version 25.3.0 | ||
helm install --wait kafka-operator stackable-stable/kafka-operator --version 25.3.0 | ||
helm install --wait listener-operator stackable-stable/listener-operator --version 25.3.0 | ||
helm install --wait nifi-operator stackable-stable/nifi-operator --version 25.3.0 | ||
helm install --wait opa-operator stackable-stable/opa-operator --version 25.3.0 | ||
helm install --wait secret-operator stackable-stable/secret-operator --version 25.3.0 | ||
helm install --wait spark-k8s-operator stackable-stable/spark-k8s-operator --version 25.3.0 | ||
helm install --wait superset-operator stackable-stable/superset-operator --version 25.3.0 | ||
helm install --wait trino-operator stackable-stable/trino-operator --version 25.3.0 | ||
helm install --wait zookeeper-operator stackable-stable/zookeeper-operator --version 25.3.0 | ||
---- | ||
|
||
==== Known issues |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.