All notable changes to this project will be documented in this file.
- The lifetime of auto generated TLS certificates is now configurable with the role and roleGroup
config property
requestedSecretLifetime
. This helps reducing frequent Pod restarts (#619). - Run a
containerdebug
process in the background of each HDFS container to collect debugging information (#629).
- 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 (#616).
- 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 propertykubernetesClusterDomain
to set a non-default cluster domain (#591).
- Reduce CRD size from
1.4MB
to136KB
by accepting arbitrary YAML input instead of the underlying schema for the following fields (#574):podOverrides
affinity
- An invalid
HdfsCluster
doesn't cause the operator to stop functioning (#594).
- Add experimental support for version
3.4.0
(#545, #557). We do NOT support upgrading from 3.3 to 3.4 yet!
- Bump
stackable-operator
from0.64.0
to0.70.0
(#546). - Bump
product-config
from0.6.0
to0.7.0
(#546). - Bump other dependencies (#549).
- Revert changing the getting started script to use the listener class
cluster-internal
(#492) (#493). - Fix HDFS pods crashing on launch when any port names contain dashes (#517).
- Add labels to ephemeral (listener) volumes. These allow
stackablectl stack list
to display datanode endpoints (#534) - Processing of corrupted log events fixed; If errors occur, the error messages are added to the log event (#536).
- Added rack awareness support via topology provider implementation (#429, #495).
- More CRD documentation ([#433]).
- Support for exposing HDFS clusters to clients outside of Kubernetes (#450).
- Helm: support labels in values.yaml (#460).
- Add support for OPA authorizer (#474).
- Use new label builders (#454).
- Change the liveness probes to use the web UI port and to fail after one minute (#491).
- Update the getting started script to use the listener class
cluster-internal
(#492).
- [BREAKING]
.spec.clusterConfig.listenerClass
has been split to.spec.nameNodes.config.listenerClass
and.spec.dataNodes.config.listenerClass
, migration will be required when usingexternal-unstable
(#450, #462). - [BREAKING] Removed legacy node selector on roleGroups (#454).
- Change default value of
dfs.ha.nn.not-become-active-in-safemode
fromtrue
tofalse
(#458). - Removed support for Hadoop
3.2
(#475).
- Include hdfs principals
dfs.journalnode.kerberos.principal
,dfs.namenode.kerberos.principal
anddfs.datanode.kerberos.principal
in the discovery ConfigMap in case Kerberos is enabled (#451). - User provided env overrides now work as expected (#499).
- Default stackableVersion to operator version (#381).
- Configuration overrides for the JVM security properties, such as DNS caching (#384).
- Support PodDisruptionBudgets (#394).
- Support graceful shutdown (#407).
- Added support for 3.2.4, 3.3.6 (#409).
vector
0.26.0
->0.33.0
(#378, #409).- Let secret-operator handle certificate conversion (#392).
operator-rs
0.44.0
->0.55.0
(#381, #394, #404, #405, #409).- Consolidate Rust workspace members (#425).
- Don't default roleGroup replicas to zero when not specified (#402).
- [BREAKING] Removed field
autoFormatFs
, which was never read (#422).
- Removed support for 3.3.1, 3.3.3 (#409).
- Add support for enabling secure mode with Kerberos (#334).
- Generate OLM bundle for Release 23.4.0 (#350).
- Missing CRD defaults for
status.conditions
field (#354). - Set explicit resources on all containers (#359).
- Support podOverrides (#368).
- Operator-rs:
0.40.2
->0.44.0
(#349, #372). - Use 0.0.0-dev product images for testing (#351)
- Use testing-tools 0.2.0 (#351)
- Run as root group (#353).
- Added kuttl test suites (#364)
- Increase the size limit of the log volumes (#372)
- Deploy default and support custom affinities (#319).
- Added OLM bundle files (#328).
- Extend cluster resources for status and cluster operation (paused, stopped) (#337).
- Cluster status conditions (#339).
- [Breaking] Moved top level config option to
clusterConfig
(#326). - [BREAKING] Support specifying Service type.
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 thecluster-internal
ListenerClass
. If you need your cluster to be accessible from outside of Kubernetes you need to setclusterConfig.listenerClass
toexternal-unstable
(#340). operator-rs
0.36.0
->0.40.2
(#326, #337, #341, #342).- Use
build_rbac_resources
from operator-rs (#342).
- Avoid empty log events dated to 1970-01-01 and improve the precision of the log event timestamps (#341).
- Removed the
--debug
flag for HDFS container start up (#332).
- [BREAKING] Use Product image selection instead of version.
spec.version
has been replaced byspec.image
(#281). - Updated stackable image versions (#271).
- Fix the previously ignored node selector on role groups (#286).
operator-rs
0.25.2
->0.30.2
(#276, #286, #290).- Replaced
thiserror
withsnafu
(#290).
operator-rs
0.24.0
->0.25.2
(#249).
- Set specified resource request and limit on namenode main container (#259).
- Include chart name when installing with a custom release name (#205).
- Added OpenShift compatibility (#225).
- Add recommended labels to NodePort services (#240).
- The possibility to specify
configOverrides
andenvOverrides
(#122). - Reconciliation errors are now reported as Kubernetes events (#130).
- Use cli argument
watch-namespace
/ env varWATCH_NAMESPACE
to specify a single namespace to watch (#134). - Config builder for
hdfs-site.xml
andcore-site.xml
(#150). - Discovery configmap that exposes the namenode services for clients to connect (#150).
- Documented service discovery for namenodes (#150).
- Publish warning events when role replicas don't meet certain minimum requirements (#162).
- PVCs for data storage, cpu and memory limits are now configurable (#164).
- Fix environment variable names according to https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html#Configuring_Environment_of_Hadoop_Daemons (#164).
operator-rs
0.10.0
->0.15.0
(#130, #134, #148).HADOOP_OPTS
for jmx exporter specified toHADOOP_NAMENODE_OPTS
,HADOOP_DATANODE_OPTS
andHADOOP_JOURNALNODE_OPTS
to fix cli tool (#148).- [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: 3.5.8
becomes (for example)version: 3.5.8-stackable0.1.0
(#180)
- Monitoring scraping label
prometheus.io/scrape: true
(#104).
- Complete rewrite to use
StatefulSet
s,hostPath
volumes and the Kubernetes overlay network. (#68) operator-rs
0.9.0
→0.10.0
(#104).
operator-rs
0.3.0
→0.4.0
(#20).- Adapted pod image and container command to docker image (#20).
- Adapted documentation to represent new workflow with docker images (#20).
- Switched to operator-rs tag 0.3.0 (#13)