Skip to content

Releases: hetznercloud/csi-driver

v2.15.0

04 Jun 15:05
b01e627
Compare
Choose a tag to compare

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:

  1. Labels with the key prefix csi.hetzner.cloud/ are not permitted.
  2. 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

23 May 09:05
5558e21
Compare
Choose a tag to compare

🛑 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

  • allow to set labels for all volumes (#932)
  • add Kubernetes v1.33 and remove EOL version v1.29 (#971)

Bug Fixes

  • helm: node extraVolumeMounts are added to wrong container (#957)

v2.13.0

14 Mar 07:58
c21f1fa
Compare
Choose a tag to compare

Features

  • helm-chart: add extraParam for StorageClass (#865)

v2.12.0

22 Jan 14:46
de3bb84
Compare
Choose a tag to compare

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

26 Nov 10:56
afa8768
Compare
Choose a tag to compare

Features

  • Added new option enableProvidedByTopology (#780)
  • drop tests for kubernetes v1.28 (#796)

Bug Fixes

  • prefer scheduling the csi controller on cloud nodes (#786)

Kubernetes Support

This version was tested with Kubernetes 1.29 - 1.31. Furthermore, we dropped v1.28 support.

v2.10.1

12 Nov 09:58
a215384
Compare
Choose a tag to compare

⚠️ 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

29 Oct 12:21
7bf5096
Compare
Choose a tag to compare

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)

Bug Fixes

v2.9.0

08 Aug 14:17
9df9704
Compare
Choose a tag to compare

2.9.0 (2024-08-08)

Features

  • truncate poll exponential backoff function to max 10s (#674) (5785418)

Bug Fixes

  • xfs options compatibility between alpine and node kernel (#689) (13d853b), closes #648

v2.8.0

24 Jun 15:57
4f0459b
Compare
Choose a tag to compare

2.8.0 (2024-06-24)

Features

  • chart: separate image name and tag (#616) (0300b14)
  • k8s: drop Kubernetes 1.26 from tests (93fe229)
  • k8s: test against Kubernetes 1.30 (93fe229)
  • read HCLOUD_TOKEN from file (#617) (4e1cd9d)

v2.7.1

13 Jun 12:47
35034a6
Compare
Choose a tag to compare

2.7.1 (2024-06-13)

Bug Fixes

  • resize: recover from part-way failed resizes (#623) (f9016af)