Releases: hetznercloud/csi-driver
v2.15.0
In release v2.14.0, we introduced default labels that are automatically applied to every newly created volume. However, we have identified a bug in the Hetzner Cloud API that allowed invalid label keys during Volume creation. This issue affects the following labels:
- Labels with the key prefix
csi.hetzner.cloud/
are not permitted. - Labels using the pattern
csi.storage.k8s.io/*/*
are invalid due to the use of double slashes in the key.
These labels are informational only and not used by the CSI driver itself. Volumes with incorrect or broken label values will still function as expected; however, editing or updating the labels may not work correctly. To comply with API requirements, Hetzner Cloud will edit the labels for every Volume and replace them with the new labels:
csi.hetzner.cloud/created-by
-managed-by
csi.storage.k8s.io/pvc/name
-pvc-name
csi.storage.k8s.io/pvc/namespace
-pvc-namespace
csi.storage.k8s.io/pv/name
-pv-name
Features
- rename default labels on Volumes (#988)
v2.14.0
🛑 Known Bug
🛑 Version v2.14.0 contains a known bug that affects newly created volumes due to invalid label keys. These include labels with the prefix csi.hetzner.cloud/
and labels using the pattern csi.storage.k8s.io/*/*
, which are not accepted by the Hetzner Cloud API. These labels are informational only and not used by the CSI driver itself. Volumes with incorrect or broken label values will still function as expected; however, editing or updating the labels may not work correctly. Please upgrade directly to v2.15.0
, where these labels are replaced with valid alternatives.
With this release, you can now assign Hetzner Cloud labels to all newly created volumes. For a brief guide, visit this page.
By default, all volumes are labeled as follows:
csi.storage.k8s.io/pvc/name
csi.storage.k8s.io/pvc/namespace
csi.storage.k8s.io/pv/name
csi.hetzner.cloud/created-by=csi-driver
Features
Bug Fixes
- helm: node extraVolumeMounts are added to wrong container (#957)
v2.13.0
v2.12.0
We are pleased to announce improvements to our Nomad support. While official support is not available, we have developed end-to-end tests that cover the core features of a CSI driver. These tests are integrated into our CI pipeline and validate compatibility with the latest Nomad version.
Features
- nomad: improved nomad support (#798)
- support ReadWriteOncePod (#857)
- add support and tests for Kubernetes 1.32 (#844)
Bug Fixes
- use extraVolumeMounts for node in daemonset (#843)
v2.11.0
v2.10.1
⚠️ Removed Feature from v2.10.0
We have reverted a workaround for an upstream issue in the Kubernetes scheduler where nodes without the CSI Plugin (e.g. Robot servers) would still be considered for scheduling, but then creating and attaching the volume fails with no automatic reconciliation of the this error.
Due to variations in the CSI specification implementation, these changes disrupted Nomad clusters, requiring us to revert them. We are actively working on placing this workaround behind a feature flag, allowing Kubernetes users to bypass the upstream issue.
This affects you, if you have set the Helm value allowedTopologyCloudServer
in v2.10.0. If you are affected by the Kubernetes upstream issue, we will provide a fix in the next minor version v2.11.0.
Learn more about this in #400 and #771.
Bug Fixes
- reverted NodeGetInfo response as it breaks Nomad clusters (#776)
v2.10.0
2.10.0 (2024-10-29)
Features
- add support & tests for Kubernetes 1.31 (#721) (85035b9)
- allow arbitrary length API tokens (#724) (61c3a0e)
- allow passing mkfs format options via storage class parameters (#747) (4b9aa4e)
- change XFS default options to support older kernels (#747) (4b9aa4e)
- drop tests for Kubernetes 1.27 (#722) (d46a54b)
- force pods with volumes to be scheduled on Cloud servers (#743) (702fe01)
- fstype is directly passed to mkfs: mkfs.<fstype> (#749) (173bf2f)
- support for SELinux mount (#756) (719247e), closes #582
- Support SINGLE_NODE_MULTI_WRITER capability (#725) (cd53c23), closes #327
- swarm: removed workaround support for mock staging/unstaging (#746) (465ec21)