kubernetes / enhancements

Enhancements tracking repo for Kubernetes
Apache License 2.0
3.46k stars 1.49k forks source link

Snapshot / Restore Volume Support for Kubernetes (CRD + External Controller) #177

Closed jingxu97 closed 3 years ago

jingxu97 commented 7 years ago

Feature Description

davidopp commented 7 years ago

kubernetes/kubernetes#39657 kubernetes/kubernetes#44172

timothysc commented 7 years ago

/cc @skriss

mdelio commented 7 years ago

@jingxu97 I think we're going to have something in alpha for 1.7, can we can we please set the milestone to 1.7?

calebamiles commented 7 years ago

@kubernetes/sig-storage-feature-requests could someone please update the issue description to the new template. Thanks!

jingxu97 commented 7 years ago

I will work on it. Thanks!

Best, Jing

On Thu, May 4, 2017 at 8:43 AM, caleb miles notifications@github.com wrote:

@kubernetes/sig-storage-feature-requests https://github.com/orgs/kubernetes/teams/sig-storage-feature-requests could someone please update the issue description to the new template. Thanks!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/features/issues/177#issuecomment-299225105, or mute the thread https://github.com/notifications/unsubscribe-auth/ASSNxR4fUmmxnJ4QQc-Fe0K5CKT5tRO9ks5r2fIcgaJpZM4Lrsji .

--

alkar commented 7 years ago

Is this based on the proposal here: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/volume-snapshotting.md ?

jingxu97 commented 7 years ago

No, the new proposal doc is here https://docs.google.com/document/d/17WS4Wk4MXRH24i-BpMpIFo5F-SNoRkm_KtkBMZEEoAo Please let me know if you cannot open it. Thanks!

Jing

On Tue, May 9, 2017 at 7:34 AM, Dimitrios Karagiannis < notifications@github.com> wrote:

Is this based on the proposal here: https://github.com/kubernetes/ community/blob/master/contributors/design-proposals/volume-snapshotting.md ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/features/issues/177#issuecomment-300184509, or mute the thread https://github.com/notifications/unsubscribe-auth/ASSNxVKLqOq9lsJ72MrdqkNN-2pbfmtIks5r4HmQgaJpZM4Lrsji .

--

alkar commented 7 years ago

@jingxu97 thanks! I can't access it but I just requested access.

yanivlavi commented 7 years ago

@jingxu97 I wanted to add an important note here regarding overall approach. I'm not this is the right place to put this, but I would be a happy to be guided to the right forum to bring this up.

Coming from a long background in oVirt and OSP I feel there is an important aspect that needs to be discuss which is ownership of the state of snapshots (and overall volume metadata) and discoverablility of the this metadata.

In cloud and on premise users (developers and admins) might prefer the native storage APIs over the Kube APIs. Kube is also not the one creating the snapshot, it is the cloud service or the storage itself, therefore it is not the owner of this metadata.

In OSP they have already made this mistake with Cinder that forces users that want to use snapshots to go through the Cinder API to have it be available in the OSP environment. Cinder doesn't know snapshot created on the storage and if you lose the Cinder you lose everything as the metadata that counts is in his stateful DB.

What I'm trying to say is that it is important that Kube doesn't try to be the owner of the volume metadata, which means things like periodically checking if a new snapshot was created directly via the storage service API or that the ID used for the snapshot is the storage service snapshot ID.

It is clear that Kube should expose snapshotting since it very needed to the container use case, but it is very important it doesn't become a storage abstraction service like Cinder. We do not want to chase the storage service features or limit user to use the Kube API, it should be a option. We also want to allow discovery of volumes no matter where they where created.

As we get to more complex features like QOS and oversubscription for example, we want to allow exposing and reusing the storage service capabilities, not replace them or block users from using them via the cloud service or storage management APIs.

idvoretskyi commented 7 years ago

@jingxu97 any progress on the feature description? @kubernetes/sig-storage-feature-requests

idvoretskyi commented 7 years ago

@mdelio @jingxu97 please, update the feature description with the new template - https://github.com/kubernetes/features/blob/master/ISSUE_TEMPLATE.md

saad-ali commented 7 years ago

@idvoretskyi I updated the original comment with the new template. This feature is not actually shipping any bits in the Kubernetes core for v1.7, so therefore I moved it to the next-milestone. This means that it will not need documentation, etc. for 1.7 in the Kubernetes core. I will remove the feature from the 1.7 tracking board as well.

idvoretskyi commented 7 years ago

@saad-ali any updates for 1.8? Is this feature still on track for the release?

rootfs commented 7 years ago

cc @tsmetana

childsb commented 7 years ago

@idvoretskyi this is still on track: https://github.com/kubernetes-incubator/external-storage/pull/331

jdumars commented 7 years ago

@jingxu97 @rootfs any update on missing docs for this? PR is due today.

jingxu97 commented 7 years ago

@jdumars We put this into external, is there still a deadline for it?

jdumars commented 7 years ago

This is an independent feature outside of the specific 1.8 milestone.

jdumars commented 7 years ago

Docs can wait until you release separately @jingxu97 - thanks for letting us know

saad-ali commented 7 years ago

This did not make it in to 1.9. Punting to 1.10

idvoretskyi commented 6 years ago

@saad-ali @kubernetes/sig-storage-feature-requests any progress for 1.10?

jingxu97 commented 6 years ago

We are working on a proposal to push it in tree. Will update the status soon.

justaugustus commented 6 years ago

@jingxu97 @saad-ali @kubernetes/sig-storage-feature-requests Any plans for this in 1.11?

If so, can you please ensure the feature is up-to-date with the appropriate:

cc @idvoretskyi

dhawal55 commented 6 years ago

Any updates?? Any plans to target this for v1.12??

justaugustus commented 6 years ago

@saad-ali -- Thanks for the update! This has been added to the 1.12 Tracking sheet.

Just to clarify, https://github.com/kubernetes/features/issues/543 mentions the following timeline:

Alpha release target (x.y): 1.12
Beta release target (x.y): 1.13
Stable release target (x.y): 1.14

Can you confirm that?

justaugustus commented 6 years ago

/assign @xing-yang

k8s-ci-robot commented 6 years ago

@justaugustus: GitHub didn't allow me to assign the following users: xing-yang.

Note that only kubernetes members and repo collaborators can be assigned. For more information please see the contributor guide

In response to [this](https://github.com/kubernetes/features/issues/177#issuecomment-408595426): >/assign @xing-yang Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
xing-yang commented 6 years ago

@justaugustus "Alpha release target 1.12..." is correct. The prototype snapshot support in "External repo" was added in 1.8.

zparnold commented 6 years ago

Hey there! @jingxu97 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?

xing-yang commented 6 years ago

@zparnold Added a placeholder doc PR https://github.com/kubernetes/website/pull/9948

zparnold commented 6 years ago

Thank you!

On Mon, Aug 20, 2018 at 9:36 PM Xing Yang notifications@github.com wrote:

@zparnold https://github.com/zparnold Added a placeholder doc PR kubernetes/website#9948 https://github.com/kubernetes/website/pull/9948

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/features/issues/177#issuecomment-414530549, or mute the thread https://github.com/notifications/unsubscribe-auth/AE81SM80cpm_P_RyA84IJ4eBqconFlY1ks5uS3JCgaJpZM4Lrsji .

justaugustus commented 6 years ago

@jingxu97 @xing-yang -- Any update on docs status for this feature? Are we still planning to land it for 1.12? At this point, code freeze is upon us, and docs are due on 9/7 (2 days). If we don't here anything back regarding this feature ASAP, we'll need to remove it from the milestone.

cc: @zparnold @jimangel @tfogo

xing-yang commented 6 years ago

@justaugustus Code was merged. Doc PR is ready for review: https://github.com/kubernetes/website/pull/9948

justaugustus commented 6 years ago

Thanks for the update!

claurence commented 6 years ago

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

xing-yang commented 6 years ago

Actually this feature is alpha in 1.12. We are not planning to go beta in 1.13. It should be changed as follows:

External repo (x.y): 1.8
Alpha release target (x.y): 1.12
Beta release target (x.y): 1.14
kacole2 commented 6 years ago

Thanks @xing-yang /milestone clear

claurence commented 5 years ago

@jingxu97 Hello - I’m the enhancement’s lead for 1.14 and I’m checking in on this issue to see what work (if any) is being planned for the 1.14 release. Enhancements freeze is Jan 29th and I want to remind that all enhancements must have a KEP

xing-yang commented 5 years ago

Hi @claurence - we are working on "execution hook" and "PV/PVC taints and tolerations" for 1.14. Do we need KEP for those? If so, I'll submit a KEP for execution hook. Jing is working on a spec for taints and tolerations.

claurence commented 5 years ago

@xing-yang Thanks - all issues should have a KEP associated with them so please add one for this issue. Also do you have links to the PRs for the two items referenced above?

claurence commented 5 years ago

Also is alpha still the correct stage or is this feature graduating to beta?

xing-yang commented 5 years ago

@claurence Yes, it is still Alpha. We are still working on the KEP so it is not submitted yet. What is the deadline for submitting a KEP?

xing-yang commented 5 years ago

@claurence here's the KEP on ExecutionHook: https://github.com/kubernetes/enhancements/pull/705

claurence commented 5 years ago

@xing-yang please submit the KEP before the enhancements freeze date for Jan 29th if there is expected work for 1.14 - if this is out of scope for 1.14 a KEP will be needed for work in 1.15

kacole2 commented 5 years ago

Hello @xing-yang, I'm the Enhancement Lead for 1.15. Is this feature going to be graduating alpha/beta/stable stages in 1.15? Please let me know so it can be tracked properly and added to the spreadsheet. This will also require a KEP to be included.

Once coding begins, please list all relevant k/k PRs in this issue so they can be tracked properly.

xing-yang commented 5 years ago

Hi @kacole2 , the snapshot feature tracked by this issue will remain as alpha. I'm going to create another enhancement issue to track the ExecutionHook feature separately.

xing-yang commented 5 years ago

Hi @kacole2 , enhancement issue is created for ExecutionHook here: https://github.com/kubernetes/enhancements/issues/962

msau42 commented 5 years ago

We are targeting beta for 1.16

kacole2 commented 5 years ago

/stage beta /milestone v1.16

@msau42 this is still missing a KEP. I'll put it in the tracking sheet for now.

msau42 commented 5 years ago

@xing-yang can you look into creating a kep for this? I'm not sure how up-to-date the original design doc was, but we can point to it from the kep