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 Cluster Registration Mechanism #594

Open
saad-ali opened this Issue Jul 27, 2018 · 19 comments

Comments

Projects
None yet
10 participants
@saad-ali
Member

saad-ali commented Jul 27, 2018

Feature Description

  • One-line feature description (can be used as a release note): Introduce the ability for a CSI driver (optionally) to register it self with the Kubernetes API to:
    • Make it easy for end users to discover CSI drivers installed on their cluster.
    • Allow CSI drivers to customize how Kubernetes interacts with them (e.g. skip attach operation, etc.)
  • Primary contact (assignee): @saad-ali, @jsafrane
  • Responsible SIGs: /sig storage
  • Design proposal link (community repo): New: #594 Old: Google doc
  • Link to e2e and/or unit tests:
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @thockin
  • Approver (likely from SIG/area to which feature belongs): @thockin
  • Feature target (which target equals to which milestone):
    • Alpha release target (x.y): 1.12
    • Beta release target (x.y): 1.14
    • Stable release target (x.y): 1.15
@justaugustus

This comment has been minimized.

Member

justaugustus commented Jul 28, 2018

Thanks for the update! This has been added to the 1.12 Tracking sheet.

/assign @saad-ali @jsafrane

@zparnold

This comment has been minimized.

Member

zparnold commented Aug 20, 2018

Hey there! @saad-ali I'm the wrangler for the Docs this release. Is there any chance I could have you open up a docs PR against the release-1.12 branch as a placeholder? That gives us more confidence in the feature shipping in this release and gives me something to work with when we start doing reviews/edits. Thanks! If this feature does not require docs, could you please update the features tracking spreadsheet to reflect it?

sttts pushed a commit to sttts/csi-api that referenced this issue Sep 4, 2018

Merge pull request #67803 from saad-ali/csiClusterReg3
Automatic merge from submit-queue (batch tested with PRs 64283, 67910, 67803, 68100). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

CSI Cluster Registry and Node Info CRDs

**What this PR does / why we need it**:
Introduces the new `CSIDriver` and `CSINodeInfo` API Object as proposed in kubernetes/community#2514 and kubernetes/community#2034

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes kubernetes/enhancements#594

**Special notes for your reviewer**:
Per the discussion in https://groups.google.com/d/msg/kubernetes-sig-storage-wg-csi/x5CchIP9qiI/D_TyOrn2CwAJ the API is being added to the staging directory of the `kubernetes/kubernetes` repo because the consumers will be attach/detach controller and possibly kubelet, but it will be installed as a CRD (because we want to move in the direction where the API server is Kubernetes agnostic, and all Kubernetes specific types are installed).

**Release note**:

```release-note
Introduce CSI Cluster Registration mechanism to ease CSI plugin discovery and allow CSI drivers to customize Kubernetes' interaction with them.
```

CC @jsafrane

Kubernetes-commit: 85300f4f5dd7b0bd36d0538fb6c3255c06d5e6c2

k8s-publishing-bot added a commit to kubernetes/csi-api that referenced this issue Sep 4, 2018

Merge pull request #67803 from saad-ali/csiClusterReg3
Automatic merge from submit-queue (batch tested with PRs 64283, 67910, 67803, 68100). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

CSI Cluster Registry and Node Info CRDs

**What this PR does / why we need it**:
Introduces the new `CSIDriver` and `CSINodeInfo` API Object as proposed in kubernetes/community#2514 and kubernetes/community#2034

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes kubernetes/enhancements#594

**Special notes for your reviewer**:
Per the discussion in https://groups.google.com/d/msg/kubernetes-sig-storage-wg-csi/x5CchIP9qiI/D_TyOrn2CwAJ the API is being added to the staging directory of the `kubernetes/kubernetes` repo because the consumers will be attach/detach controller and possibly kubelet, but it will be installed as a CRD (because we want to move in the direction where the API server is Kubernetes agnostic, and all Kubernetes specific types are installed).

**Release note**:

```release-note
Introduce CSI Cluster Registration mechanism to ease CSI plugin discovery and allow CSI drivers to customize Kubernetes' interaction with them.
```

CC @jsafrane

Kubernetes-commit: 85300f4f5dd7b0bd36d0538fb6c3255c06d5e6c2

@saad-ali saad-ali reopened this Sep 7, 2018

@saad-ali

This comment has been minimized.

Member

saad-ali commented Sep 7, 2018

These objects and registry are designed for CSI drivers authors. No documentation changes needed on kubernetes/website. Changes will be added to kubernetes-csi

@claurence

This comment has been minimized.

claurence commented Oct 5, 2018

Kubernetes 1.13 is going to be a 'stable' release since the cycle is only 10 weeks. We encourage no big alpha features and only consider adding this feature if you have a high level of confidence it will make code slush by 11/09. Are there plans for this enhancement to graduate to alpha/beta/stable within the 1.13 release cycle? If not, can you please remove it from the 1.12 milestone or add it to 1.13?

We are also now encouraging that every new enhancement aligns with a KEP. If a KEP has been created, please link to it in the original post. Please take the opportunity to develop a KEP

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 8, 2018

@saad-ali, @jsafrane just checking in from @claurence's post to see if this should be included for tracking. thanks!

@kacole2 kacole2 added tracked/no and removed tracked/yes labels Oct 8, 2018

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 15, 2018

/milestone v1.13

@k8s-ci-robot k8s-ci-robot modified the milestones: v1.12, v1.13 Oct 15, 2018

@kacole2 kacole2 added tracked/yes and removed tracked/no labels Oct 15, 2018

@spiffxp

This comment has been minimized.

Member

spiffxp commented Oct 17, 2018

@kacole2 this is listed as "stable" on the spreadsheet, looks like it should be alpha?

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 22, 2018

@saad-ali can you give an update on the feasibility of this making v1.13 milestone? Enhancements freeze is tomorrow COB. Was the kubernetes/kubernetes#67803 merge for 1.12? And should this be properly tracked as beta now? The only PR i'm seeing in k/k is kubernetes/kubernetes#69462 which is a backfill of tests. If you could tell us what work is being done and if this is going to make the freeze dates for 1.13 (and any associating PRs) that would be great so we can continue to track or drop. thanks!

@saad-ali

This comment has been minimized.

Member

saad-ali commented Oct 24, 2018

This feature is part of 1.12 and is available as alpha (kubernetes/kubernetes#67803 in 1.12).

We are planning on moving it to beta this release, 1.13.

@jsafrane is working on it for this quarter. Stay tuned for some PRs.

@saad-ali saad-ali added stage/beta and removed stage/alpha labels Oct 24, 2018

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 24, 2018

thanks for the updates @saad-ali

@claurence

This comment has been minimized.

claurence commented Nov 7, 2018

@saad-ali - Is there any work needed left to make this feature beta for 1.13? As an FYI Code slush is 11/9 and Code freeze is 11/15

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Nov 7, 2018

@jsafrane are there any PRs we should be tracking as we approach slush? kubernetes/kubernetes#69462 and any others?

@AishSundar

This comment has been minimized.

AishSundar commented Nov 12, 2018

@jsafrane We are fast approaching Code freeze for 1.13 (11/6). I see kubernetes/kubernetes#69462 is still in active review. I also see atleast 3 more PRs referenced in kubernetes/kubernetes#69462? Are you confident of wrangling this by Wednesday this week giving us a couple of days to watch CI? If not please work with the release team to move this out to 1.14 sooner than later. thanks.

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Nov 13, 2018

@jsafrane @hoegaarden @vladimirvivien There hasn't been any progress on kubernetes/kubernetes#69462 in a long time. Should we punt this out to 1.14?

@msau42

This comment has been minimized.

Member

msau42 commented Nov 14, 2018

PR to add a CRD installation mechanism: kubernetes/kubernetes#70780

I just discussed with @saad-ali and @davidz627 and we decided we're going to keep this feature in alpha for this release. We want to focus on CSI GA instead.

@msau42

This comment has been minimized.

Member

msau42 commented Nov 14, 2018

These are the tasks we need to do to go to beta:

  • Update known deployment tools to enable the CSI CRD install addon
  • Update addon to install v1beta1 CRDs (chicken and egg with kubernetes/kubernetes#70367?)
@AishSundar

This comment has been minimized.

AishSundar commented Nov 14, 2018

@kacole2 to move this out of 1.13 for Beta. Thanks

@AishSundar

This comment has been minimized.

AishSundar commented Nov 14, 2018

@tfogo, @marpaia and @kbarnard10 to remove it from their updates respectively

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Nov 14, 2018

/milestone clear

@k8s-ci-robot k8s-ci-robot removed this from the v1.13 milestone Nov 14, 2018

@kacole2 kacole2 added tracked/no and removed tracked/yes labels Nov 14, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment