Enhancements: Add support for resizing PVs

Created on 28 Apr 2017  Â·  66Comments  Â·  Source: kubernetes/enhancements

Feature Name

  • Add support for resizing existing PVs
  • Primary contact (assignee): Hemant Kumar( @gnufied)
  • Responsible SIGs: storage-sig
  • Design proposal link (community repo): https://github.com/kubernetes/community/pull/657
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers: @saad-ali @jsafrane
  • Approver (likely from SIG/area to which feature belongs): @jsafrane
  • Feature target (which target equals to which milestone):

    • Alpha release target (x.y): 1.8

    • File system resizing and GCE, EBS, Cinder volume type support : 1.9

    • Beta release target (x.y): 1.11

    • Stable release target (x.y): 1.12

kinfeature sistorage stagbeta trackeno

Most helpful comment

@saad-ali I know that timeline is pretty tight and code freeze is looming. But I would like to do my best to make this an alpha feature for 1.7. Yes - there is a chance, we may fail, but I don't see any harm in trying.

So - please, can we move this back to 1.7 milestone? I was hoping to have a discussion about this today in sig but we ran out of time. I am planning to schedule a call tomorrow morning.

All 66 comments

/cc @sandyamin123 @aniket-s-kulkarni

@gnufied can you update the feature description with the design proposal?

Updated link to design proposal - https://github.com/kubernetes/community/pull/657

This will not ship alpha until 1.8 at the earliest, moving out of 1.7 milestone

@saad-ali I know that timeline is pretty tight and code freeze is looming. But I would like to do my best to make this an alpha feature for 1.7. Yes - there is a chance, we may fail, but I don't see any harm in trying.

So - please, can we move this back to 1.7 milestone? I was hoping to have a discussion about this today in sig but we ran out of time. I am planning to schedule a call tomorrow morning.

@saad-ali I know that timeline is pretty tight and code freeze is looming. But I would like to do my best to make this an alpha feature for 1.7. Yes - there is a chance, we may fail, but I don't see any harm in trying.

So - please, can we move this back to 1.7 milestone? I was hoping to have a discussion about this today in sig but we ran out of time. I am planning to schedule a call tomorrow morning.

I didn't mean to punt resize without your input @gnufied. Sorry about that. It just looked like there were a lot of big design questions, and I'd rather the team spend the time before 1.8 coding beings to close on those rather than rush the design and implementation. We can prioritize this higher for 1.8. Thanks for driving this!

@gnufied I'd second @saad-ali's suggestion about not moving this item to 1.7 and keeping it for 1.8. Unfortunately, either feature or code freeze dates have already passed, so it is unlikely to add the new features now.

Would be happy to see this item in 1.8.

@saad-ali @idvoretskyi no worries. Yeah perhaps it was bit over ambitious to try and get this at such a later stage. Looking forward to get this done for 1.8 though. :cake: :cake:

@gnufied do you have an update on missing docs? PR is due today.

I will open docs PR EOD today. sorry about the delay.

@gnufied any update on the docs PR?

I am on it. It is taking longer than I expected, I am really sorry about that. But it should all be in by today.

We partially implemented this in 1.8. we need to roll this feature over to 1.8. The feature design has already been merged.

@gnufied did you mean "roll this feature over to 1.9"?

@jdumars I meant the feature needs to target 1.9.

Checking to see if this feature is indeed being targeted for v.1.9.0?

This feature is not going to beta in 1.9. @gnufied will provide more details.

Yes this feature is on track for 1.9. We are implementing additional features that were missing from 1.8, namely file system resizing support but we are still keeping this Alpha.

Because of lack of file system resizing, we could not support resizing volume plugins like EBS, GCE, Cinder etc in 1.8. In 1.9 - we are adding file system resizing support in 1.9 and supporting more volume types.

Related PRs:

  1. https://github.com/kubernetes/kubernetes/pull/55815
  2. https://github.com/kubernetes/kubernetes/pull/51498

@gnufied :wave: Please indicate in the 1.9 feature tracking board
whether this feature needs documentation. If yes, please open a PR and add a link to the tracking spreadsheet. Thanks in advance!

@gnufied what about other cloud provider, e.g. azure. Since it's not in your plan, cloud provider owner should implement by themselves, right?

@andyzhangx yes that is correct. We expect that each volume plugin maintainer will implement relevant interface needed to support resizing. In 1.9 - we will be supporting - EBS, GCE, Cinder & Glusterfs (we have a PR open for cephfs but that may have missed the cut)

@gnufied thx, I will work on azure file/disk resize. So 1.10 would be beta for this feature, right?

@zacharysarah documentation PR https://github.com/kubernetes/website/pull/6487

Will this work/is there any plans to make this work with external provisioner (like the https://github.com/kubernetes-incubator/external-storage provisioners)?

is pvc resizing feature already supported for rbd(ceph) as well and did it already land in 1.9 ? @rootfs

@krmayankk yes it works for rbd.

@klausenbusk there is a plan to add resizing for flex volumes - https://github.com/kubernetes/features/issues/304 but there is no immediate plan to add resizing support in external provisioners.

So unless I'm missing something looks like Expanding Persistent Volumes Claims for gcePersistentDisk
& awsElasticBlockStore are both supported in 1.8 alpha

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#aws

@bradenwright for GCE and AWS the resizing support was introduced in 1.9 alpha. 1.8 only had controller changes and as a result file system could not be resized. In 1.9 we introduced file system resizing and added support for gce/AWS etc. Obviously this is much more polished in 1.10

@childsb @saad-ali can we add this 1.11 milestone? This feature will go beta in 1.11

@gnufied
Any plans for this in 1.11?

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

  • Description
  • Milestone
  • Assignee(s)
  • Labels:

    • stage/{alpha,beta,stable}

    • sig/*

    • kind/feature

cc @idvoretskyi

@justaugustus as indicated above, we are going to take this feature to beta in 1.11 . I have already updated milestones for that

@gnufied --
We're doing one more sweep of the 1.11 Features tracking spreadsheet.
Would you mind filling in any incomplete / blank fields for this feature's line item?

yes We need new documentation for this feature - I have opened https://github.com/kubernetes/website/pull/8896

@gnufied This feature was worked on in the previous milestone, so we'd like to check in and see if there are any plans for this to graduate stages in Kubernetes 1.12 as mentioned in the original post. This still has the 1.11 milestone as well so we need to update it accordingly.

If there are any updates, please explicitly ping @justaugustus, @kacole2, @robertsandoval, @rajendar38 to note that it is ready to be included in the Features Tracking Spreadsheet for Kubernetes 1.12.


Please note that the Features Freeze is July 31st, after which any incomplete Feature issues will require an Exception request to be accepted into the milestone.

In addition, please be aware of the following relevant deadlines:

  • Docs deadline (open placeholder PRs): 8/21
  • Test case freeze: 8/28

Please make sure all PRs for features have relevant release notes included as well.

Happy shipping!

Hi
This enhancement has been tracked before, so we'd like to check in and see if there are any plans for this to graduate stages in Kubernetes 1.13. This release is targeted to be more ‘stable’ and will have an aggressive timeline. Please only include this enhancement if there is a high level of confidence it will meet the following deadlines:

  • Docs (open placeholder PRs): 11/8
  • Code Slush: 11/9
  • Code Freeze Begins: 11/15
  • Docs Complete and Reviewed: 11/27

Please take a moment to update the milestones on your original post for future tracking and ping @kacole2 if it needs to be included in the 1.13 Enhancements Tracking Sheet

Thanks!

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle-stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Since we have not moved this feature to GA yet. I would like to keep this feature request open.

/reopen
/remove-lifecycle rotten
/lifecycle frozen

@gnufied: Reopened this issue.

In response to this:

Since we have not moved this feature to GA yet. I would like to keep this feature request open.

/reopen
/remove-lifecycle rotten
/lifecycle frozen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Enhancement issues opened in kubernetes/enhancements should never be marked as frozen.
Enhancement Owners can ensure that enhancements stay fresh by consistently updating their states across release cycles.

/remove-lifecycle frozen

Feature is still in beta in 1.15 and likely going to remain beta in 1.16. We will target 1.17 as GA, so as all different resizing features can go together as GA. The dependent feature are:

  • Online volume expansion (went GA in 1.15)
  • CSI volume expansion (still alpha in 1.15 and wil move beta in 1.16)

@gnufied is the CSI volume expansion still on target for beta in 1.16?

Hello @gnufied, 1.17 Enhancement Shadow here! 🙂

I wanted to reach out to see if this enhancement will be graduating to alpha/beta/stable in 1.17?


Please let me know so that this enhancement can be added to 1.17 tracking sheet.

Thank you!

🔔Friendly Reminder

The current release schedule is

  • Monday, September 23 - Release Cycle Begins
  • Tuesday, October 15, EOD PST - Enhancements Freeze
  • Thursday, November 14, EOD PST - Code Freeze
  • Tuesday, November 19 - Docs must be completed and reviewed
  • Monday, December 9 - Kubernetes 1.17.0 Released

A Kubernetes Enhancement Proposal (KEP) must meet the following criteria before Enhancement Freeze to be accepted into the release

  • PR is merged in
  • In an implementable state
  • Include test plan and graduation criteria
  • All relevant k/k PRs should be listed in this issue

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle stale

For 1.18 this feature will remain in beta but we are planning enhancements that will move it closer to GA release.

Thanks @gnufied, I will update the release tracking sheet with that info.

@johnbelamaric for 1.18, we are planning on getting https://github.com/kubernetes/enhancements/pull/1516 done so as we can move this feature as a whole to GA in next release.

@gnufied it will need to merge today, or you will need to file an exception request: https://github.com/kubernetes/sig-release/blob/master/releases/EXCEPTIONS.md

/milestone v1.18

Hey @gnufied it looks like https://github.com/kubernetes/enhancements/pull/1516 didn't merge in time for the enhancement freeze, so we are going to remove this from the milestone for now. If you'd like to include it in the milestone, please file an exception request

/milestone clear

@jeremyrickard we are planning to file an exception today. I will update this KEP when we do.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle stale

Hi @gnufied, -- 1.19 Enhancement Lead here, I wanted to check in whether you think this Enhancement will graduate in 1.19?

The current release schedule is:

  • Monday, April 13: Week 1 - Release cycle begins
  • Tuesday, May 19: Week 6 - Enhancements Freeze
  • Thursday, June 25: Week 11 - Code Freeze
  • Thursday, July 9: Week 14 - Docs must be completed and reviewed
  • Tuesday, August 4: Week 17 - Kubernetes v1.19.0 released
  • Thursday, August 20: Week 19 - Release Retrospective

Let me know what do you think.

@palnabarun thank you for the ping. We are proposing further API changes in 1.19 release which will enable this feature to go GA.

We are trying to get https://github.com/kubernetes/enhancements/pull/1516 merged to that end.

Today is the 3 years anniversary of this issue. :birthday: :candle: :cake: :)

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle stale

Hi @gnufied

Enhancements Lead here. Any plans for this to graduate in 1.20?

Thanks,
Kirsten

This will remain in beta in 1.20 and the plan is to move this feature and CSI volume expansion together to GA.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

xing-yang picture xing-yang  Â·  13Comments

mitar picture mitar  Â·  8Comments

dekkagaijin picture dekkagaijin  Â·  9Comments

andrewsykim picture andrewsykim  Â·  12Comments

justaugustus picture justaugustus  Â·  7Comments