brown-ccv / jupyterhub-docker-images

GNU General Public License v3.0
0 stars 1 forks source link

Fix/startup script #5

Closed mirestrepo closed 4 years ago

mirestrepo commented 4 years ago

Adresses #3 and #4

mirestrepo commented 4 years ago

I tried! I don't understand the magic behind the naming naming to docker.io/library/jupyterhub-conda-envs_jh_image. Seems like that magic does not apply to my build..

mirestrepo commented 4 years ago

Wohoo... I figured it out :) - You renamed the repo, so the images are referencing a location that no longer exists. I guess after the rename that worked for a bit and not anymore....

mirestrepo commented 4 years ago

I think the tagging workflow should only happen on dispatch . Automating on merge/release has the potential to update the tags on many classes at once and I think that makes me nervous.

I added basically a copy of the workflow to be used for tagging, that will be the only one that includes a tag such as fall-2020. The tagging workflow should probably be the only one that uploads the Conda environments as artifacts. My only question is how do we make the artifacts permanent without a release?

If you don't like this the approach, I'm open to suggestions, and if you do, I can add the tagging workflows for the reminder of the classes. The dispatch button won't show up though until we merge to main

mirestrepo commented 4 years ago

Okay, I have https://apma0360.jupyter.brown.edu up. I tested it with an older image from spring and all works. Howeevere, the apma0360:fall-2020 or latest don't work. The Kubernetes error is

[FATAL tini (6)] exec jupyterhub-singleuser failed: No such file or directory

I personally think that you should have your base be FROM jupyter/minimal-notebook or FROM jupyter/base-notebook. I feel it's not worth maintaining the creation all the way from scratch. Although the error maybe something different ... I was hoping it was just the start-notebook.sh but it wasn't :(

I have left https://apma0360.jupyter.brown.edu/ up with image gcr.io/jupyterhub-docker-images/apma0360:latest so you can take on from this PR and test (if you can/want)

To check the kubernetes errors you could sign into the hub, span your session then on you machine do:

gcloud container clusters get-credentials default --region us-east1-b --project jhub-apma0360-dd6d
kubectl -n jhub get pods
kubectl -n jhub logs <user-pod on crashLookBack> 

assuming that you have GOOGLE_APPLICATION_CREDENTIALS set to project factory account.

fernandogelin commented 4 years ago

Okay, I have https://apma0360.jupyter.brown.edu up. I tested it with an older image from spring and all works. Howeevere, the apma0360:fall-2020 or latest don't work. The Kubernetes error is

[FATAL tini (6)] exec jupyterhub-singleuser failed: No such file or directory

I personally think that you should have your base be FROM jupyter/minimal-notebook or FROM jupyter/base-notebook. I feel it's not worth maintaining the creation all the way from scratch. Although the error maybe something different ... I was hoping it was just the start-notebook.sh but it wasn't :(

I have left https://apma0360.jupyter.brown.edu/ up with image gcr.io/jupyterhub-docker-images/apma0360:latest so you can take on from this PR and test (if you can/want)

To check the kubernetes errors you could sign into the hub, span your session then on you machine do:

gcloud container clusters get-credentials default --region us-east1-b --project jhub-apma0360-dd6d
kubectl -n jhub get pods
kubectl -n jhub logs <user-pod on crashLookBack> 

assuming that you have GOOGLE_APPLICATION_CREDENTIALS set to project factory account.

The Dockerfile is a modification of the base-notebook image so we can use the conda environment files. If we start from one of those images we will get into trouble with conda trying to resolve the environments.

mirestrepo commented 4 years ago

We'll need to sync up again tomorrow. The environment is now working (at least for apma), but VSCode is not showing up. There are few points I'll want to discuss... listing here so I don't forget [ ] Have a clear block on the requirement.txt file for packages that are mandatory. i.e ipython and ipykernel are required. [ ] How are we handling the jupyter labextension install. We have a bunch here. Putting the in the base docker stage is tricky because what if one class wants specific extensions beyond the common one? Or do we have a script? Or if we are getting rid of the multiple docker compose stages, is it simpler if we just have a Dockerfile per class?

mirestrepo commented 4 years ago

wohooo!! vcsode is working!

I think the lab extensions need to be installed in the base environment instead of the class environment. So we should have this in the Dockerfile instead of the requierements.txt