Skip to content
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

[New Hub] Temple University Education Hub #1648

Closed
6 of 7 tasks
colliand opened this issue Aug 22, 2022 · 17 comments · Fixed by #1664
Closed
6 of 7 tasks

[New Hub] Temple University Education Hub #1648

colliand opened this issue Aug 22, 2022 · 17 comments · Fixed by #1664
Assignees

Comments

@colliand
Copy link
Contributor

colliand commented Aug 22, 2022

Hub Description

Jonathan Smith of Temple University requests an education hub. The use-case will be similar to Data8 at Berkeley. The expected user base consists of 300 to 500 1st year students. Jonathan has experience setting up this kind of infrastructure. In particular, he set up a z2jh hub for use during previous year(s). He'd like to have a similar resource up and running and managed by 2i2c so that he can focus on teaching, his students, and helping his colleagues use these tools.

Community Representative(s)

Important dates

  • Target start date: 2022-09-01
  • Required start date: 2022-09-08
  • Any important dates for usage: Classes started during week of August 22. Temple wishes to use this hub as soon as possible.

Hub Authentication Type

CILogon (e.g., username@institution.org)

Hub logo information

  • URL to Hub Image: {{ URL HERE }}
  • URL for Image Link: {{ URL HERE }}

Example: See the AWI/CIRHO logo shown at the top of this hub landing page: https://ciroh.awi.2i2c.cloud/hub/login?next=%2Fhub%2F

What image should be used for the Temple hub?

Hub user image

  • Repository for user image: { REPO LINK IF IT EXISTS }
  • User image registry: { REGISTRY IF ONE ALREADY EXISTS }
  • User image tag and name: { NAME AND TAG IF IT EXISTS }

@laserchemist: Do you have a Docker image with the desired software environment? If not, 2i2c can proceed with a standard software environment for an education hub. We can improve on this during the Fall term.

Extra features you'd like to enable

  • Specific cloud provider or datacenter:

2i2c Engineering should set this hub up now using the simplest path forward. Based on the early discussions with Jonathan Smith, we anticipate that this hub service will move over to a dedicated cluster on an Azure billing account owned by Temple University. The anticipated transition time is during December 2022 with the service on the new cluster ready for usage by students in January 2023.

Other relevant information

No response

Hub URL

temple.pilot.2i2c.cloud

Hub Type

basehub

Tasks to deploy the hub

  • Engineer who will deploy the hub is assigned
  • Deploy information filled in above
  • Initial Hub deployment PR:
  • Administrators able to log on
  • Community Representative satisfied with hub environment
  • Hub now in steady-state
@damianavila
Copy link
Contributor

@yuvipanda and @GeorgianaElena were assigned to this issue and they are going to help deploy this hub.

@laserchemist (and maybe @colliand?) if you can help answer any further questions the engineers might need (besides the info already shared at the top comment) that would be super helpful. Thanks!!!

@colliand
Copy link
Contributor Author

I will monitor the thread and be available to assist with other channels as well.

@GeorgianaElena
Copy link
Member

Top comment missing info:

Thanks everyone. I believe right now the missing info would be the answers to these two questions from @colliand in the top comment:

  1. Hub logo information ➡️ What image should be used for the Temple hub?

Example: See the AWI/CIRHO logo shown at the top of this hub landing page: https://ciroh.awi.2i2c.cloud/hub/login?next=%2Fhub%2F

  1. Hub user image ➡️ Do you have a Docker image with the desired software environment? If not, 2i2c can proceed with a standard software environment for an education hub. We can improve on this during the Fall term.

Broader questions:

2i2c Engineering should set this hub up now using the simplest path forward

This would be deploying a hub on the shared 2i2c GCP cluster. But wonder if it wouldn't be smarter to create a new cluster on Azure under a 2i2c billing account and deploy the hub there until December.

I'm not sure however how easy it would be to change the billing account starting with December?

@yuvipanda, what do you think? Deploy a new hub super fast now, on the shared infra and move any user data to the new Azure cluster starting with December, or create a new cluster on Azure specifically for this?

I believe knowing the expected number of users until December would help with the decision above. @colliand, or @laserchemist, do you have an approximation of this number?

@colliand
Copy link
Contributor Author

The number referenced in the call with @laserchemist was 300 to 500 users. More growth is expected in 2023.

@GeorgianaElena
Copy link
Member

So it's 300 to 500 users right away, before December, and after that, that number is expected to grow?
Thanks for the quick answer @colliand! ✨

@yuvipanda
Copy link
Member

@GeorgianaElena given the start date is only a couple days away, my suggestion is to use the shared cluster and migrate later

@laserchemist
Copy link

We are at ~300 users now. Class time peaks with 60 in section and >+15 others concurrent.
Looking at/discussing Azure transition on Temple side.
What needed for SAML authentication? Would likely need Temple security sign-off.
Docker Image: laserchemist/eds-jup:v4
laserchemist/eds-jup:v3 is smaller but does not contain chemistry rdkit functionality

Materials:
postStart:
exec:
command:
[
"gitpuller",
"https://github.com/DataScienceTempleFirst/EDS.git",
"master",
"EDS",
]

@yuvipanda
Copy link
Member

@laserchemist As you're part of the InCommon federation, looks like no extra config is needed for auth!

I've set up https://temple.2i2c.cloud now (PR in #1664). Can you try out authenticating with your university credentials and see if it works?

If you can provide me with your username, I can mark you as admin there as well - and that should help you control the image being used!

@laserchemist
Copy link

Very helpful, Authentication works, jmsmith1. Is Jupyterlab possible since the students are now used to this profile?

@laserchemist
Copy link

Couple requests before students can use:

  1. Need "https://github.com/DataScienceTempleFirst/EDS.git" pulled
  2. Docker image: laserchemist/eds-jup:v43.
    rdkit not visible (No module named 'rdkit')
  3. Students are now used to Jupyter lab is this possible as a default?
  4. Need admin: jmsmith1@temple.edu

@yuvipanda
Copy link
Member

@laserchemist I'll mark you as admin today, which will allow you to set the docker image and select lab as default.

For pulling, my recommendation is to make an nbgitpuller link - https://temple.2i2c.cloud/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2FDataScienceTempleFirst%2FEDS&urlpath=lab%2Ftree%2FEDS%2F - and distribute that to students. In my experience, this is more robust than trying to pull in the background each time they login. You can generate arbitrary such links with http://nbgitpuller.link, or use the browser extensions linked to from there. What do you think?

@laserchemist
Copy link

I see, I can redirect so it remains transparent to students, I was aware of this approach but always trying to make it straightforward/foolproof for students. I have noted some cases where the startup gets hung up when pulling from GitHub.

In terms of setting the image this way, will it be apparent to me?
Thanks!

@yuvipanda
Copy link
Member

@laserchemist you should be able change the environment + set up via the configurator: https://docs.2i2c.org/en/latest/admin/howto/configurator.html. Can you try it out?

@laserchemist
Copy link

I see the configurator. I used what I thought was a standard way to refer to the image but the there was a spawning error. I am not sure the syntax to refer to a docker image on docker. I can work through repo2docker, etc. but I know this image does what I need.

@yuvipanda
Copy link
Member

@laserchemist can you tell me what error you got? And where is the image built from?

@laserchemist
Copy link

laserchemist commented Sep 3, 2022

First: 2022-09-03T14:06:22Z [Normal] Pulling image "laserchemist/eds-jup:v4"
Looks like it is working this morning! Thank you for your efforts!
I will attempt to move to repo2docker for later efforts!
FYI:
The image listed in Docker image in JupyterHub configurator is: laserchemist/eds-jup:v4 is from Docker using the following Dockerfile:

FROM jupyter/scipy-notebook:hub-2.3.0
# Replace `latest` with an image tag from to ensure reproducible builds:
# https://hub.docker.com/r/jupyter/minimal-notebook/tags/
# Inspect the Dockerfile at:
# https://github.com/jupyter/docker-stacks/tree/HEAD/minimal-notebook/Dockerfile
# install additional package...
RUN pip install --no-cache-dir git+https://github.com/grading/gradememaybe.git
RUN pip install  --no-cache-dir  datascience
RUN pip install  --no-cache-dir  nbgitpuller
# Install rdkit
ENV CONDA_DIR = '/opt/conda'
ENV NB_USER = 'jovyan'
RUN conda install --yes -c conda-forge rdkit
# && \
#    conda clean --all -f -y && \
#    fix-permissions "${CONDA_DIR}" && \
#    fix-permissions "/home/${NB_USER}"
#ENV DEBIAN_FRONTEND=noninteractive
#RUN apt-get update && apt-get install -y \
#python-rdkit \
#librdkit1 \
#rdkit-data \
#&& rm -rf /var/lib/apt/lists/*

@yuvipanda
Copy link
Member

@laserchemist ah ok! If the repo making the image isn't on github somewhere, we won't really be able to help much with image problems unfortunately.

I've merged the config changes, so the hub is fully live now. LMK if you run into any issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

5 participants