Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support ReadWriteOncePod #857

Merged
merged 1 commit into from
Jan 20, 2025

Conversation

lukasmetzner
Copy link
Contributor

@lukasmetzner lukasmetzner commented Jan 20, 2025

According to KEP-2485, if the csi-driver exposes the SINGLE_NODE_MULTI_WRITER capability, then ReadWriteOncePod will map to the SINGLE_NODE_SINGLE_WRITER volume capability, otherwise it will map to SINGLE_NODE_WRITER. Our controller already responded with the SINGLE_NODE_MULTI_WRITER, but we blocked SINGLE_NODE_SINGLE_WRITER in a validation step in the ControllerPublishVolume method.

Additional reference:

According to KEP-2485 [1], if the csi-driver exposes the SINGLE_NODE_MULTI_WRITER capability, then ReadWriteOncePod will map to the SINGLE_NODE_SINGLE_WRITER volume capability, otherwise it will map to SINGLE_NODE_WRITER. As a result, we partially supported ReadWriteOncePod but blocked it during a validation step in the `ControllerPublishVolume` method.

Additional reference:
- https://kubernetes.io/blog/2021/09/13/read-write-once-pod-access-mode-alpha/#accept-new-csi-access-modes

[1] https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/2485-read-write-once-pod-pv-access-mode/README.md#csi-specification-changes-volume-capabilities
@lukasmetzner lukasmetzner requested a review from a team as a code owner January 20, 2025 14:15
Copy link

codecov bot commented Jan 20, 2025

Codecov Report

Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 32.35%. Comparing base (0b926cc) to head (9387da8).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
internal/driver/helper.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #857      +/-   ##
==========================================
- Coverage   32.38%   32.35%   -0.04%     
==========================================
  Files          21       21              
  Lines        2075     2077       +2     
==========================================
  Hits          672      672              
- Misses       1369     1371       +2     
  Partials       34       34              

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

@lukasmetzner lukasmetzner merged commit ec38e2b into main Jan 20, 2025
13 checks passed
@lukasmetzner lukasmetzner deleted the support-single-node-single-writer-cap branch January 20, 2025 14:30
lukasmetzner pushed a commit that referenced this pull request Jan 22, 2025
<!-- section-start changelog -->
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)

<!-- section-end changelog -->

---

<details>
<summary><h4>PR by <a
href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a>
🤖</h4></summary>

If you want to modify the proposed release, add you overrides here. You
can learn more about the options in the docs.

## Release Notes

### Prefix / Start

This will be added to the start of the release notes.

```rp-prefix
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.
```

### Suffix / End

This will be added to the end of the release notes.

```rp-suffix
```

</details>

Co-authored-by: releaser-pleaser <>
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.

2 participants