NASA-IMPACT / veda-jupyterhub

VEDA JupyterHub technical planning and documentation
1 stars 1 forks source link

Objective JH-1: Enforce home directory quotas per-user #41

Open batpad opened 2 months ago

batpad commented 2 months ago

Motivation

User home directories are meant to store code and notebooks, with data being stored in object storage if possible. They are mounted via NFS, and currently can grow unbounded. The unboundedness can cause cloud cost problems (unlike memory / CPU, which are bounded inherently), as well as encourage coding patterns that are not cloud optimized (like downloading a TB of .nc files to home directory before working on them).

Proposal

We will enforce home directory storage quotas for each user, as well as an overall fixed size for the entire hub. This will require migrating from the existing AWS EFS based setup to running an in-cluster NFS server with XFS based projectquota.

Owners

Success Criteria

batpad commented 2 months ago

@yuvipanda are you able to outline a little bit here what steps would be, and give me and @sunu some reading to get started?

And then we should probably get on a call early next week to kick this off.

Thanks!

yuvipanda commented 2 months ago

yes let's do a call soon to kick this off!

Here's some prior reading that may be useful for @sunu!

I hope that's a useful start, @sunu!

@batpad how do we schedule this?

sunu commented 2 months ago

Thanks @yuvipanda! This is very useful. I'll give those threads a read.

sunu commented 4 weeks ago

Here's an update on the progress on this issue so far:

cc @batpad @yuvipanda

yuvipanda commented 4 weeks ago

@sunu AMAZING! This looks great, continue on! I'd like more comments in https://github.com/sunu/jupyter-home-nfs/blob/main/nfs-ganesha/start.sh but otherwise awesome job!

Use https://github.com/jupyterhub/chartpress for CI and packaging. You can also git merge the get-quota-the-home repo into your repo (preserving history) to make this process easier too.

Excited to see this go!