jupyterhub / zero-to-jupyterhub-k8s

Helm Chart & Documentation for deploying JupyterHub on Kubernetes
https://zero-to-jupyterhub.readthedocs.io
Other
1.55k stars 797 forks source link

Offer of UC Davis student help for JupyterHub/nbgrader #1556

Closed willingc closed 4 years ago

willingc commented 4 years ago

Surfacing the following as a new issue.

We have a kubernetes based JupyterHub deployment at UC Davis (on bare metal) and would like to get nbgrader running on the system for instructors to use. I have a team of four CS seniors that will spend about 40 collective hours a week for 5 months with the goal to develop a community usable solution for this issue. They need some help getting oriented to understand what the current state of affairs is, what the issues are, and what solution paths have people considered. Any suggestions on how to move forward? They start this week :)

Originally posted by @moorepants in https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/174#issuecomment-574978242

consideRatio commented 4 years ago

@rkevin-arch you're welcome, good luck!

rkevin-arch commented 4 years ago

I've finished writing the helm chart, and local testing shows that it works! The helm chart is here, and zero config is necessary (just do a helm install ngshare . in that directory) if everything is default. After that, follow the instructions it outputs and add the service to jupyterhub, and that's it. Please let me know what you think.

jgwerner commented 4 years ago

@willingc @rkevin-arch @consideRatio @betatim we weren't sure who to cc' but it looks like you have been the most active for this issue 😄

Here is our version stripped from all the cloud vendor dependencies. It consists of JupyterHub + nbgrader + docker-compose with the shared grader setup (more details are available in the readme). It should be quite simple to port it over to Kubernetes manifests now that its all containerized. We plan on pushing more updates this week to support dynamic course configuration setups, etc.

We hope everyone and their families are safe!

lxylxy123456 commented 4 years ago

@jgwerner I have skimmed through your project. To my understanding, the project is using nbgrader and a shared exchange directory, mounted to all user's file system. It can also use either Kubernetes or not. So I am wondering whether you encounter the problem of shared directories as we did.

Also, I would like to know your ideas regarding whether the two projects can work together.

jgwerner commented 4 years ago

@lxylxy123456 we eventually got it figured out with a shared NFS system (hooks, setup order, JupyterHub services, etc). It seems that the abstraction created with this PR, would allow nbgrader to use any exchange backend in so long as you use that abstraction's interface. Then how that interface is implemented is up to the user, right? (S3, REST API, gRPC, etc). We aren't familiar with this exchange service built by @perllaghu @BertR @lzach, however, or with ngshare, so perhaps that statement isn't accurate.

We've tested this setup with both DockerSwarm and Kubernetes orchestrators and will push some examples soon. IMHO it should work with the docker container orchestrator of your choosing.

perllaghu commented 4 years ago

This is us.... it matches https://github.com/edina/nbexchange

I don't feel it's not ready for full release yet:

..... but any input would be awesome :)

jgwerner commented 4 years ago

@perllaghu I think the double negative evaluates to true 😄

lxylxy123456 commented 4 years ago

I have recorded a demo video for our project: https://www.youtube.com/watch?v=iiaVpKLj89c .

perllaghu commented 4 years ago

Nice!

On Mon, 13 Apr 2020 at 08:56, lxylxy123456 notifications@github.com wrote:

I have recorded a demo video for our project: https://www.youtube.com/watch?v=iiaVpKLj89c .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/1556#issuecomment-612795903, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALJCDBWF7YKGRCYHAKILI3RMLAT5ANCNFSM4KLQJZXQ .

-- Ian

moorepants commented 4 years ago

Hi everyone, the student team here at UCD gave us a presentation of their work this past week and they've got a very nice solution working. They have about 4 weeks left in the quarter to polish things up and it is important to get as much feedback as they can. If people would be willing to try out ngshare https://github.com/lxylxy123456/ngshare and open issues, we'd be very grateful.

We also need help getting this PR merged into nbgrader, as ngshare relies on it:

https://github.com/jupyter/nbgrader/pull/1238

Thanks for everyone's support.

lxylxy123456 commented 4 years ago

Thank you for your support. We are now near the end of our project. We have released a stable version of ngshare (0.5.0). We have installation guide and documentation on https://ngshare.readthedocs.io/ . You may test it on your clusters.

manics commented 4 years ago

@lxylxy123456 that's great! Have you thought about announcing it on the Jupyter Community Forum? https://discourse.jupyter.org/

mhwasil commented 4 years ago

Thank you for your support. We are now near the end of our project. We have released a stable version of ngshare (0.5.0). We have installation guide and documentation on https://ngshare.readthedocs.io/ . You may test it on your clusters.

This is awesome. I have just tested ngshare with z2jh 0.9.0 on our k8s cluster running on openstack, everything works as expected. Good job..!

Stay healthy.

willingc commented 4 years ago

Congrats @lxylxy123456 on a job well done :smile: 🎉

I'm going to close this issue. Thanks to everyone who pitched in.