gitpod-io / gitpod

The developer platform for on-demand cloud development environments to create software faster and more securely.
https://www.gitpod.io
GNU Affero General Public License v3.0
12.98k stars 1.24k forks source link

Support for idmapped mounts instead of shiftfs #10181

Open utam0k opened 2 years ago

utam0k commented 2 years ago

Is your feature request related to a problem? Please describe

We may have a chance to use idmapped mounts instead of shifts. idmapped has the merit that it doesn't need to kernel module because this feature is included kernel since >= 5.12. I'm not sure the performance, but at least it's better than fuse. https://github.com/lxc/lxd/pull/8778/files

And, it may help the self-hosted users because the users use it easily, and don't need to install fuse-overlayfs or kernel module.

Describe the behaviour you'd like

  1. Pass the integration test with idmapped mounts, with fuse, shiftfs, and id mapped mounts.
    • Update harvestor preview environments to use ID mapped mounts
    • workspace-preview changed to id-mapped and tested
    • Production (ops repo) changed to id-mapped and tested with an ephemeral cluster
  2. Share thoughts on how to automate testing with fuse and shiftfs in a new (separate issue), as the current tests will only use what is in the preview environment.
  3. Update the product compatibility matrix (internal)

Describe alternatives you've considered

Additional context

Internal conversation

Furisto commented 2 years ago

Hi @utam0k, we need to wait for kernel 5.19 because only then overlayfs will support id mapped mounts.

utam0k commented 2 years ago

@Furisto cc: @kylos101 Thanks for your information. Is this a patch you pointed out? https://lkml.kernel.org/linux-unionfs/20220329103526.1207086-10-brauner@kernel.org/T/

kylos101 commented 2 years ago

Good timing, @Furisto , thanks for the heads up.

kylos101 commented 2 years ago

@aledbf I updated this issue and asked @utam0k to share an estimate, so we can use the estimate as input to gauge if we can schedule.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.