Skip to content

feat: ReadWriteOncePod support #226

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

Merged
merged 2 commits into from
Sep 21, 2021

Conversation

andyzhangx
Copy link
Member

What type of PR is this?
/kind feature

What this PR does / why we need it:

  • chore: upgrade to csi spec v1.5.0
  • feat: ReadWriteOncePod support which is alpha feature in k8s 1.22

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

feat: ReadWriteOncePod support

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. labels Sep 19, 2021
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andyzhangx

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Sep 19, 2021
Copy link
Contributor

@chrishenzie chrishenzie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to provide full support for this feature, you will also need to advertise the SINGLE_NODE_MULTI_WRITER node and controller capabilities here.

These capabilities are required because CSI clients like the external-provisioner, attacher, and kubelet use them to determine which mapping of Kubernetes access modes to CSI access modes to use. Please see this part of the feature blog for more details, and here for more context on the motivations.

As a stretch goal we will eventually want to implement the NodePublishVolume behavior however this behavior is not currently asserted in the CSI sanity test suite. Once it's added we should update the test suite again and add support.

Let me know if you have any questions, thanks again for taking a look at this!

@andyzhangx andyzhangx force-pushed the upgrade-csi-1.5.0 branch 2 times, most recently from 6eaec2b to 4dd3823 Compare September 20, 2021 02:56
@andyzhangx
Copy link
Member Author

In order to provide full support for this feature, you will also need to advertise the SINGLE_NODE_MULTI_WRITER node and controller capabilities here.

These capabilities are required because CSI clients like the external-provisioner, attacher, and kubelet use them to determine which mapping of Kubernetes access modes to CSI access modes to use. Please see this part of the feature blog for more details, and here for more context on the motivations.

As a stretch goal we will eventually want to implement the NodePublishVolume behavior however this behavior is not currently asserted in the CSI sanity test suite. Once it's added we should update the test suite again and add support.

Let me know if you have any questions, thanks again for taking a look at this!

@chrishenzie thanks for the review, I have added `SINGLE_NODE_MULTI_WRITER cap for both node and controller. Agree that we should add sanity test for this feature in the future.

@chrishenzie
Copy link
Contributor

@andyzhangx Just checking, were you able to smoke test this driver in a cluster with the feature enabled and the right sidecars? I may be able to test myself but I'll need some time before I can get to it

update controller cap

add node cap

fix test
@andyzhangx
Copy link
Member Author

disable GetCapabilities sanity test temporally, need to upgrade csi-test later:

Summarizing 2 Failures:
[Fail] Controller Service [Controller Server] ControllerGetCapabilities [It] should return appropriate capabilities 
/home/prow/go/src/github.com/kubernetes-csi/csi-test/pkg/sanity/controller.go:151
[Fail] Node Service NodeGetCapabilities [It] should return appropriate capabilities 
/home/prow/go/src/github.com/kubernetes-csi/csi-test/pkg/sanity/node.go:345
Ran 28 of 78 Specs in 87.955 seconds
FAIL! -- 26 Passed | 2 Failed | 1 Pending | 49 Skipped

@andyzhangx
Copy link
Member Author

@andyzhangx Just checking, were you able to smoke test this driver in a cluster with the feature enabled and the right sidecars? I may be able to test myself but I'll need some time before I can get to it

@chrishenzie not yet, while I could try this feature later, this PR just adds the ReadWriteOncePod cap first.

@andyzhangx
Copy link
Member Author

BTW, github action unit test failure is expected since https://coveralls.io/ is down for one day.

@chrishenzie
Copy link
Contributor

@andyzhangx The feature should work with these changes (implementing NodePublishVolume behavior is more for adhering to the CSI spec than it is a requirement for ReadWriteOncePod to work)

@andyzhangx
Copy link
Member Author

let's merge first

@andyzhangx andyzhangx merged commit 3235308 into kubernetes-csi:master Sep 21, 2021
andyzhangx added a commit to andyzhangx/csi-driver-nfs that referenced this pull request Jun 27, 2023
4133d1d Merge pull request kubernetes-csi#226 from msau42/cloudbuild
8d519d2 Pin buildkit to v0.10.6 to workaround v0.11 bug with docker manifest
6e04a03 Merge pull request kubernetes-csi#224 from msau42/cloudbuild
26fdfff Update cloudbuild image
6613c39 Merge pull request kubernetes-csi#223 from sunnylovestiramisu/update
0e7ae99 Update k8s image repo url
77e47cc Merge pull request kubernetes-csi#222 from xinydev/fix-dep-version
155854b Fix dep version mismatch
8f83905 Merge pull request kubernetes-csi#221 from sunnylovestiramisu/go-update
1d3f94d Update go version to 1.20 to match k/k v1.27

git-subtree-dir: release-tools
git-subtree-split: 4133d1d
andyzhangx added a commit to andyzhangx/csi-driver-nfs that referenced this pull request Aug 11, 2023
670bb0e Merge pull request kubernetes-csi#229 from marosset/fix-codespell-errors
35d5e78 Merge pull request kubernetes-csi#219 from yashsingh74/update-registry
63473cc Merge pull request kubernetes-csi#231 from coulof/bump-go-version-1.20.5
29a5c76 Merge pull request kubernetes-csi#228 from mowangdk/chore/adopt_kubernetes_recommand_labels
8dd2821 Update cloudbuild image with go 1.20.5
1df23db Merge pull request kubernetes-csi#230 from msau42/prow
1f92b7e Add ginkgo timeout to e2e tests to help catch any stuck tests
2b8b80e fixing some codespell errors
c10b678 Merge pull request kubernetes-csi#227 from coulof/check-sidecar-supported-versions
72984ec chore: adopt kubernetes recommand label
b055535 Header
bd0a10b typo
c39d73c Add comments
f6491af Script to verify EOL sidecar version
4133d1d Merge pull request kubernetes-csi#226 from msau42/cloudbuild
8d519d2 Pin buildkit to v0.10.6 to workaround v0.11 bug with docker manifest
6e04a03 Merge pull request kubernetes-csi#224 from msau42/cloudbuild
26fdfff Update cloudbuild image
6613c39 Merge pull request kubernetes-csi#223 from sunnylovestiramisu/update
0e7ae99 Update k8s image repo url
77e47cc Merge pull request kubernetes-csi#222 from xinydev/fix-dep-version
155854b Fix dep version mismatch
8f83905 Merge pull request kubernetes-csi#221 from sunnylovestiramisu/go-update
1d3f94d Update go version to 1.20 to match k/k v1.27
901bcb5 Update registry k8s.gcr.io -> registry.k8s.io

git-subtree-dir: release-tools
git-subtree-split: 670bb0e
TerryHowe pushed a commit to TerryHowe/csi-driver-nfs that referenced this pull request Oct 17, 2024
Pin buildkit to v0.10.6 to workaround v0.11 bug with docker manifest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants