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

CSI: volume creation #10165

Merged
merged 10 commits into from
Mar 31, 2021
Merged

CSI: volume creation #10165

merged 10 commits into from
Mar 31, 2021

Conversation

tgross
Copy link
Member

@tgross tgross commented Mar 11, 2021

CSI volume creation workflow for #8212. The snapshot and resize workflows will be implemented in separate PRs once this is complete.

Consists of the contents of these PRs, previously reviewed and merged:

I've rebased these a bit to squash redundant commits on the same content and fixup doc navigation updates, so that we have a git-bisectable result once this PR is merged. But no content has changed other than the docs navigation file.

@tgross tgross self-assigned this Mar 11, 2021
@tgross tgross added this to the 1.1.0 milestone Mar 11, 2021
@tgross tgross force-pushed the csi-create-volume branch from c10f708 to f29399a Compare March 12, 2021 16:54
@vercel vercel bot temporarily deployed to Preview – nomad March 12, 2021 16:54 Inactive
@tgross tgross force-pushed the csi-create-volume branch from f29399a to eade3e0 Compare March 12, 2021 16:55
@vercel vercel bot temporarily deployed to Preview – nomad March 15, 2021 20:07 Inactive
@tgross tgross force-pushed the csi-create-volume branch from bbb9699 to d84a4ce Compare March 17, 2021 19:35
@vercel vercel bot temporarily deployed to Preview – nomad March 17, 2021 19:35 Inactive
@vercel vercel bot temporarily deployed to Preview – nomad March 19, 2021 14:52 Inactive
@vercel vercel bot temporarily deployed to Preview – nomad March 22, 2021 13:43 Inactive
@vercel vercel bot temporarily deployed to Preview – nomad March 23, 2021 13:45 Inactive
@tgross tgross force-pushed the csi-create-volume branch from 2fe11bd to d536bfb Compare March 23, 2021 13:50
@vercel vercel bot temporarily deployed to Preview – nomad March 23, 2021 13:50 Inactive
@tgross tgross force-pushed the csi-create-volume branch from d536bfb to 7a73906 Compare March 29, 2021 20:11
@tgross tgross requested review from drewbailey and shoenig March 31, 2021 19:35
api/csi.go Outdated Show resolved Hide resolved
Copy link
Contributor

@drewbailey drewbailey left a comment

Choose a reason for hiding this comment

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

lgtm! (I only reviewed a subset of the children prs)

website/content/docs/commands/volume/create.mdx Outdated Show resolved Hide resolved
tgross added 10 commits March 31, 2021 16:25
Note that unset proto fields for volume create should be nil. The CSI spec
handles empty fields and nil fields in the protobuf differently, which may
result in validation failures for creating volumes with no prior source (and
does in testing with the AWS EBS plugin). Refactor the `CreateVolumeRequest`
mapping to the protobuf in the plugin client to avoid this bug.
This commit includes a new test client that allows overriding the RPC
protocols. Only the RPCs that are passed in are registered, which lets you
implement a mock RPC in the server tests. This commit includes an example of
this for the ClientCSI RPC server.
This commit implements the RPC handlers on the client that talk to the CSI
plugins on that client for the Create/Delete/List RPC.
The CSI specification requires that we validate a list of `Capability` (access
mode + accessibility) when we create volume, but the existing volume
registration workflow incorrectly validates a single capability. The
specific capability required by a volume claim is checked at the time we make
the claim, so remove the check for `AttachmentMode`/`AcccessMode`.
In order to support new controller RPCs, we need to fingerprint volume
capabilities in more detail and perform controller RPCs only when the specific
capability is present. This fixes a bug in Ceph support where the plugin can
only suport create/delete but we assume that it also supports attach/detach.
The HTTP test to create CSI volumes depends on having a controller plugin to
talk to, but the test was using a node-only plugin, which allows it to
silently ignore the missing controller.
Add new commands for creating, deleting, and listing external storage
volumes. Includes HCL decoding update for volume spec so that we can humanize
capacity bytes input values.
@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants