Skip to content

Latest commit

 

History

History
465 lines (302 loc) · 26 KB

CHANGELOG.md

File metadata and controls

465 lines (302 loc) · 26 KB

Changelog

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.

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

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

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

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)

2.7.1 (2024-06-13)

Bug Fixes

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

2.7.0 (2024-05-10)

Features

Bug Fixes

  • helm: missing rbac for leader election / leases (#538) (5da7a14), closes #531

2.6.0 (2023-11-08)

Features

  • helm: add value to customize kubeletDir (#516) (501fbe3)

2.5.1 (2023-09-29)

Bug Fixes

  • release workflow fails publishing with missing Git author (#512) (c45b40f)

2.5.0 (2023-09-29)

Features

2.4.0 (2023-08-25)

Features

Bug Fixes

v2.3.2

Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎

Learn more: https://www.hetzner.com/news/arm64-cloud

What's Changed

  • fix(ci): correct image tag in generated k8s manifests by @samcday in #407

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.3.1...v2.3.2

v2.3.1

Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎

Learn more: https://www.hetzner.com/news/arm64-cloud

What's Changed

  • fix(ci): qemu binfmt wrappers during release by @samcday in #406

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.3.0...v2.3.1

v2.3.0

Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs! Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎

Learn more: https://www.hetzner.com/news/arm64-cloud

What's Changed

  • docs: Update README for v2.2.0 by @apricote in #388
  • chore(ci): run e2e workflow on public workers by @samcday in #393
  • Fix typo in Script: Remove quotes. by @guettli in #394
  • Add volumeattachment script macos compatibility by @laurigates in #396
  • Update README.md by @laurigates in #395
  • Fix volumeattachment array by @laurigates in #397
  • feat: new dev/test environment by @apricote in #401
  • feat(goreleaser): produce OCI manifest images by @apricote in #402
  • ci: fix goreleaser arguments by @apricote in #403
  • feat: publish ARM container images by @apricote in #405

New Contributors

  • @laurigates made their first contribution in #396

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.2.0...v2.3.0

v2.3.0-rc.0

What's Changed

  • docs: Update README for v2.2.0 by @apricote in #388
  • chore(ci): run e2e workflow on public workers by @samcday in #393
  • Fix typo in Script: Remove quotes. by @guettli in #394
  • Add volumeattachment script macos compatibility by @laurigates in #396
  • Update README.md by @laurigates in #395
  • Fix volumeattachment array by @laurigates in #397
  • feat: new dev/test environment by @apricote in #401
  • feat(goreleaser): produce OCI manifest images by @apricote in #402
  • ci: fix goreleaser arguments by @apricote in #403

New Contributors

  • @laurigates made their first contribution in #396

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.2.0...v2.3.0-rc.0

v2.2.0

What's Changed

Notable Changes

  • feat(k8s): pull CSI sidecar images from registry.k8s.io #368 by @apricote in #371
  • feat: add experimental Docker Swarm support by @s4ke in #376
  • feat: use exponential backoff for action polling by @apricote in #380
  • feat: add Grafana dashboard and ServiceMonitors by @apricote in #378
  • feat: Separate server ID from location for controller by @NotTheEvilOne in #385

Other

  • docs: update README for v2.1.1 by @apricote in #367
  • Relax volume integration test by @choffmeister in #366
  • feat: set allow discards on luksOpen by @apricote in #370
  • docs(v2): describe process to prepare VolumeAttachments by @apricote in #375
  • deps: bump hcloud-go to 1.40.0 by @apricote in #379
  • chore(deps): bump golang.org/x/net from 0.5.0 to 0.7.0 by @dependabot in #383
  • ci(e2e): improve behaviour in spite of flakiness by @apricote in #386
  • ci(e2e): fail fast on worker setup errors by @apricote in #387

New Contributors

  • @s4ke made their first contribution in #376
  • @NotTheEvilOne made their first contribution in #385

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.1.1...v2.2.0

v2.1.1

What's Changed

  • Build the Docker image on any platform by @hakman in #309
  • test: fix e2e suite for NixOS by @apricote in #338
  • docs: document procedure to fix PVs broken with v2.0.0 by @apricote in #340
  • docs: add missing link to script by @apricote in #341
  • encrypted storageclass had the wrong names. reference to cryptsetup by @JustinGuese in #342
  • fix(node): check for empty devicePath by @apricote in #344
  • docs: describe how to activate debug logs by @apricote in #345
  • refactor(skaffold): update manifests to match v2+ resources by @apricote in #348
  • feat: test against Kubernetes v1.26 by @apricote in #350
  • chore(deps): upgrade kubernetes-csi sidecars by @apricote in #351
  • Update k8s sig-storage containers by @choffmeister in #354
  • fix: Block volumes are formatted #349 by @apricote in #353
  • Verify hcloud-csi.yml is up-to-date by @choffmeister in #356
  • chore(e2e): update testdriver definition by @apricote in #360
  • chore(deps): update golang.org/x/ dependencies by @apricote in #364
  • chore(deps): upgrade go dependencies by @apricote in #365

New Contributors

  • @hakman made their first contribution in #309
  • @JustinGuese made their first contribution in #342

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.1.0...v2.1.1

v2.1.0

What's Changed

  • fix: revert invalid topology changes #333 by @apricote in #335

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.0.1...v2.1.0

v2.0.1

⚠️ This is a bugfix for #333, only update to this release if you are currently on v2.0.0. Otherwise check out the issue to learn which version you should install/upgrade to.

What's Changed

  • fix: invalid topology label on new volumes #333 by @apricote in #334

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v2.0.0...v2.0.1

v2.0.0

🛑 Known Bug

🛑 Version v2.0.0 contains a known bug that affects newly created volumes. Please upgrade directly to v2.1.0. Details are available in the issue #333.

Breaking Changes

⚠️ This release contains breaking changes from 1.6.0. Please see the Upgrading section in the README for details on the required steps.

What's Changed

  • Include more information in request logging by @samcday in #237
  • e2e test workflow improvements by @samcday in #234
  • driver: fix panic when server is not found. by @jrasell in #249
  • Use our own runners in E2E tests by @LKaemmerling in #252
  • Remove unneeded privileges from CSI sidecars by @samcday in #235
  • Use hcloud API for volume filesystem formatting by @samcday in #238
  • Kustomization support and manifest simplification by @samcday in #223
  • fix docs: taints vs label by @jleni in #257
  • Update hcloud-csi.yml by @sui77 in #242
  • [1/???] Split deployment manifests by @samcday in #261
  • [2/???] Rework RBAC to only apply to CSI Controller by @samcday in #262
  • [3/???] Switch Controller to Deployment, plus other tweaks by @samcday in #263
  • [4/???] Remove hcloud API calls from most Node code paths by @samcday in #264
  • [5/???] Split the driver into controller + node binaries by @samcday in #266
  • [6/???] Simplify node resize by @samcday in #267
  • Rename secret for hcloud api token to hcloud by @LKaemmerling in #275
  • [7/???] Remove HCLOUD_TOKEN from node DaemonSet by @samcday in #269
  • [8/???] Remove Node Stage/Unstage capability by @samcday in #270
  • Allow to configure the HCLOUD API Endpoint via Environment Variables. by @LKaemmerling in #277
  • Add support for volume encryption with cryptsetup and LUKS by @choffmeister in #279
  • Implement ListVolumes Call by @LKaemmerling in #292
  • Add FSGroup to mount capabilities + update dependencies by @4ND3R50N in #296
  • Updates Version Constraint by @mvhirsch in #291
  • Update k8s support by @4ND3R50N in #298
  • Add skaffold for local debugging + add "Local test setup" section to README.md by @4ND3R50N in #301
  • ci: publish unstable docker image from main by @EternalDeiwos in #305
  • Explicit docs: read+write API token is needed. by @guettli in #313
  • StorageClass has cluster scope by @jlgeering in #317
  • test: fix integration tests relying on specific byte amounts by @apricote in #322
  • feat: test against Kubernetes v1.25 by @apricote in #321
  • chore: upgrade all dependencies to latest version by @apricote in #326
  • [enhancement] Use native kubernetes topology region label for volumes nodeAffinity by @maksim-paskal in #302
  • fix: driver version not updated on tagged release by @apricote in #328
  • docs: update README for v2.0.0 by @apricote in #329

New Contributors

  • @jrasell made their first contribution in #249
  • @jleni made their first contribution in #257
  • @sui77 made their first contribution in #242
  • @choffmeister made their first contribution in #279
  • @4ND3R50N made their first contribution in #296
  • @mvhirsch made their first contribution in #291
  • @EternalDeiwos made their first contribution in #305
  • @guettli made their first contribution in #311
  • @jlgeering made their first contribution in #317
  • @maksim-paskal made their first contribution in #302

Full Changelog: https://github.com/hetznercloud/csi-driver/compare/v1.6.0...v2.0.0

v1.6.0

Changelog

2ea4803 Add btrfs support 7719e45 Add exclude for blockstorage during resize (#211) 4a69641 Add k8s 1.22 to tests (#225) beb3783 Adjust stale bot to be more userfriendly (#217) 0de9bd9 CI improvements for speed and fork-friendliness. (#221) e07b392 Fix changelog generation 8cb0bfe Implement Instrumentation from hcloud-go (#227) c89c462 Increase default polling interval to 3 seconds. (#230) 11c9940 Make e2e workflow friendly to running on forks. (#214) 29893db Migrate Testsuite Setup to be in line with our CCM Testsuite (#219) 4ad4d69 Prepare release v1.6.0 (#231) cf4e7e4 Recognition of root servers (#195) c213244 Reduce default log verbosity to info level (#224) c74a95b Remove testing for k8s 1.18 as written in our Versioning policy. (#199) 8d1f531 Run e2e tests in parallel. (#215) da859e8 Simplify CSI socket handling (#222) 6164eaf Update README.md (#196) 140dad9 Update hcloud-go to v1.29.1 (#218) fb90575 Upgrade csi sidecars to latest versions. (#216) 54f573e Use Go 1.17 (#228) 5d2ac90 Use Goreleaser to publish changelog (#229)

v1.5.2

  • Update Go to 1.16
  • Update csi driver container to alpine linux v3.13
  • Update hcloud-go to 1.24.0
  • Fix mounting idempotency issues

v1.5.1

  • Add correct deployment file for latest version

v1.5.0

  • Allow using the node name as node indicator instead of using the metadata service
  • Allow to tune the log level using the LOG_LEVEL environment variable
  • Update k8s dependencies to v1.17.12
  • Update Go to 1.15
  • Update hcloud-go to 1.22.0
  • Update csi driver container to alpine linux v3.12
  • Note: As of this release all versions are end-to-end tested against the official Kubernetes testsuite, as a result a few smaller issues where fixed

v1.4.0

  • Allow mounting of Hetzner Cloud Volumes as raw block volumes.
  • Add label (app: hcloud-csi) to hcloud-csi-controller-metrics and hcloud-csi-node-metrics
  • Update to hcloud-go 1.18.0

v1.3.2

  • Fix stuck volume terminating when the volume was already deleted

v1.3.1

  • Add correct deployment file for latest version

v1.3.0

  • Update csi-attacher sidecar to v2.2.0
  • Update csi-provisioner sidecar to v1.6.0
  • Update csi-node-driver-registrar sidecar to v1.3.0
  • Add livenessProbe support
  • Update Go to 1.14
  • Reduce the amount of API calls from CSI driver
  • Add option to configure the Action polling interval via HCLOUD_POLLING_INTERVAL_SECONDS
  • Add option to enable the debug mode via HCLOUD_DEBUG

v1.2.3

  • Add missing RBAC rules required for newer k8s version
  • Install e2fsprogs-extra for resizing
  • Add better error handling and validation for certain errors related to wrong API tokens

v1.2.2

  • Fix usage of Aborted error code, which leads to an increasing CPU usage

v1.2.1

  • Add missing RBAC rules required for newer k8s version

v1.2.0

  • Implement volume resizing
  • Implement volume statistics

v1.1.5

  • Revert fix from v1.1.2 to retry attach/detach when server is locked

v1.1.4

  • Respect minimum volume size of 10 GB

v1.1.3

  • Detach volumes before deleting them

v1.1.2

  • Fix error handling for attaching/detaching volumes in case server is locked

v1.1.1

  • Improve logging

v1.1.0

  • Implement topology awareness (supporting nodes and volumes in different locations)

v1.0.0

  • Initial release