Skip to content

NodeExpand may resize fs for block volume #372

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

Closed
msau42 opened this issue Aug 13, 2019 · 17 comments · Fixed by #571
Closed

NodeExpand may resize fs for block volume #372

msau42 opened this issue Aug 13, 2019 · 17 comments · Fixed by #571
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Milestone

Comments

@msau42
Copy link
Contributor

msau42 commented Aug 13, 2019

Looking back at resizer.Resize implementation, it checks the format on the disk before attempting a resize. The problem is, the presence of a filesystem doesn't mean that the PVC is a Filesystem type. A user could mount the volume as Block and manage an ext4/xfs filesystem themselves.

I think fixing this may require adding VolumeCapabilities to the Controller/NodeExpandVolumeRequest

/kind bug
/assign @davidz627
cc @gnufied

@davidz627
Copy link
Contributor

Just to confirm, the intended behavior is:
If the VolumeCapability is Block and the user manages a fs by themselves, we should NOT resize their fs
?

@msau42
Copy link
Contributor Author

msau42 commented Aug 13, 2019

correct

@gnufied
Copy link

gnufied commented Aug 13, 2019

okay, I have file a bug against CSI for adding the capability - container-storage-interface/spec#380

@gnufied
Copy link

gnufied commented Aug 14, 2019

Actually I am wondering if we can solve majority of this problem, without making a change in CSI specs. See when volume is of type raw-block the volumePath that you will get with NodeExpandVolume will be a device-path not a mounted file system path. So we can use that information and not perform any file system level expansion when NodeExpandVolume is called on raw block devices.

I think it may still be worth adding capability to NodeExpandVolume and ControllerExpandVolume call but - it will fall under "nice" to have territory and a driver can use this optional information to skip a operation entirely.

@davidz627 davidz627 added this to the GA milestone Sep 18, 2019
@fejta-bot
Copy link

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

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 17, 2019
@davidz627
Copy link
Contributor

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 18, 2019
@davidz627
Copy link
Contributor

davidz627 commented Dec 18, 2019

VolumeCapability was added (container-storage-interface/spec#381) so this should be easy to skip now

@fejta-bot
Copy link

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

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 18, 2020
@msau42
Copy link
Contributor Author

msau42 commented Mar 18, 2020

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 18, 2020
@verult
Copy link
Contributor

verult commented Apr 8, 2020

VolumeCapabilities are now passed into resize call as part of external-resizer v0.5.0.

@davidz627 davidz627 removed their assignment Jun 15, 2020
@shay-berman
Copy link

What is the status of this ticket please?
Looks like it blocking the GA of the GKE CSI driver.

@saad-ali
Copy link
Contributor

saad-ali commented Aug 7, 2020

/assign

@shay-berman
Copy link

Great to see that GA Driver project is all done.
May I ask when the GKE documentation will be update about using the GA driver vs the Beta version?

@msau42
Copy link
Contributor Author

msau42 commented Aug 17, 2020

Once it's completely rolled out in GKE, which will start in rapid channel and eventually reach the stable channel, we will update the GKE documentation. It will take a few weeks to reach stable as it needs to first soak in rapid, then regular channels.

@gnufied
Copy link

gnufied commented Aug 17, 2020

Did we wanted to expand this functionality and return false from ControllerExpandVolume , if it is called for block volume types? That would eliminate need for calling NodeExpandVolume altogether.

@shay-berman
Copy link

@msau42 I am using GKE CSI beta today, just want to make sure. Is there going to be upgrade pass from PVC that were created via the GKE CSI beta to the GAed CSI version?

Do I need to take any action in order to get the CSI GAed version while running on GKE?

Thanks

@msau42
Copy link
Contributor Author

msau42 commented Aug 25, 2020

@shay-berman no changes needed. The GA driver is compatible with the beta. The only action you may need to take is to upgrade your GKE cluster to get the GA driver if you are not on a release channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants