Skip to content

feat: use volume assignee instead of deprecated server property - #1552

Draft
lukasmetzner wants to merge 1 commit into
mainfrom
refactor/volume-assignee
Draft

lukasmetzner wants to merge 1 commit into
mainfrom
refactor/volume-assignee

Conversation

@lukasmetzner

@lukasmetzner lukasmetzner commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

The API deprecated the server property of volumes in favour of the new assignee property and will remove it on 27 October 2027. Attach volumes by setting the assignee, and read the current attachment from it.

A volume assigned to a resource other than a server is treated as attached: ControllerPublishVolume fails with FailedPrecondition, DeleteVolume detaches it before deleting, and ControllerUnpublishVolume without a node ID detaches it.

hcloud-go is pinned to the unreleased volume-assignee branch (hetznercloud/hcloud-go#957) until it is released.

Related to https://docs.hetzner.cloud/changelog#2026-10-27-volumes-allow-generic-resource-targets

Release notes

Volume Assignee Support

The Hetzner Cloud API deprecated the server property of Volumes in favour of the new generic assignee property. The server property will be removed on 27 October 2027 (see the API changelog). With this release, the CSI driver uses assignee to attach Volumes and to read their current attachment. Behavior for Volumes attached to servers is unchanged.

Important

Earlier versions of the CSI driver depend on the server property. Once it is removed, they can no longer attach or detach Volumes correctly, so existing installations will stop working. Upgrade to this release or later before 27 October 2027. We will send email reminders ahead of the removal date.

@lukasmetzner
lukasmetzner added this pull request to stack #1553 October 30, 2026 08:20
@codecov

codecov Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.08%. Comparing base (aca7a82) to head (761845f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1552      +/-   ##
==========================================
- Coverage   80.96%   80.08%   -0.89%     
==========================================
  Files          16       16              
  Lines        1403     1411       +8     
==========================================
- Hits         1136     1130       -6     
- Misses        267      281      +14     
Flag Coverage Δ
e2e-controller 60.80% <85.00%> (-0.85%) ⬇️
e2e-node 60.80% <85.00%> (-0.85%) ⬇️
integration 4.07% <ø> (ø)
unit 57.05% <100.00%> (+0.24%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Base automatically changed from refactor/merge-idempotent-service to main October 30, 2026 13:57
The API deprecated the `server` property of volumes in favour of the
new `assignee` property and will remove it on 27 October 2027. Attach
volumes by setting the assignee, and read the current attachment from
it.

A volume assigned to a resource other than a server is treated as
attached: ControllerPublishVolume fails with FailedPrecondition,
DeleteVolume detaches it before deleting, and ControllerUnpublishVolume
without a node ID detaches it.

hcloud-go is pinned to the unreleased volume-assignee branch
(hetznercloud/hcloud-go#957) until it is released.

Related to https://docs.hetzner.cloud/changelog#2026-10-27-volumes-allow-generic-resource-targets
@lukasmetzner
lukasmetzner force-pushed the refactor/volume-assignee branch from 410093f to 761845f Compare October 30, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant