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

Prepare Pangeo Hub for Ryan's course #652

Closed
7 of 8 tasks
rabernat opened this issue Sep 2, 2021 · 22 comments · Fixed by #676
Closed
7 of 8 tasks

Prepare Pangeo Hub for Ryan's course #652

rabernat opened this issue Sep 2, 2021 · 22 comments · Fixed by #676
Assignees

Comments

@rabernat
Copy link
Contributor

rabernat commented Sep 2, 2021

Description

I am hoping to use the new 2i2c Pangeo hub (see #599) for my fall Research Computing course. My ~20 students will be logging in for the first time on Sept. 14. It would be really great if they could log in to the new hub, rather than the old one.

If we miss this deadline

Ryan will need to use the pre-existing Pangeo Hub, then either

  • Migrate students over mid semester
  • Keep operating the old Pangeo hub until December

Value / benefit

I will personally benefit as the instructor of my course.

Pangeo users will benefit from the upgraded environment.

2i2c will benefit by wrapping up this project, freeing staff to focus on other things.

Implementation details

We'll tackle this by first ensuring that our staging cluster is set up with the environment, infrastructure, etc needed for @rabernat's course. We need to do this by getting feedback from him about what needs to be updated or changed, and then fixing up those issues in the task list below.

The staging hub lives at:

staging.pangeo.2i2c.cloud

Once we get the staging hub "ready to go", our next step will be to deploy a production hub that mimics the staging hub in its configuration. This will be the hub that we point Ryan and his students to. We can then continue improving and iterating in staging over the coming weeks.

Tasks to complete

edit: other issues that we had listed here are moved to this Project so that we don't lose track of them: https://github.com/orgs/2i2c-org/projects/16#card-68036583

Updates

  • 2021-09-07: we decided to re-scope this issue to just include the things that are needed for this week's hub infrastructure, so that we make sure that we focus on that. We'll tackle the other improvements in subsequent weeks.
@yuvipanda yuvipanda changed the title Deadline for Pangeo Hub deployment Sep 14 deadline for Pangeo Hub deployment Sep 2, 2021
@yuvipanda
Copy link
Member

yuvipanda commented Sep 2, 2021

@rabernat I've updated to latest notebook and added a set of CPU / RAM options. We can caliberate the size of these options as we go.

For 20 students, the workaround would be you'll need to just add them manually using the admin panel. It'd be nice to get teams working but I hope this workaround will be ok if necessary.

@yuvipanda
Copy link
Member

dask-gateway is already setup and should work the same as pangeo. Let's try it out?

@choldgraf choldgraf changed the title Sep 14 deadline for Pangeo Hub deployment Prepare Pangeo Hub for Ryan's course Sep 2, 2021
@choldgraf
Copy link
Member

Echoing what @yuvipanda said, I think that the easiest thing to do for authenticating the students will be to manually add them to the Hub's user list via the Admin UI, by following these instructions.

You might also consider adding a more trusted student / TA as an "Admin" user on the hub, so that they can add students as well.

This should be pretty easy to do for just 20 students. It won't scale but I hope that it would be an acceptable stop-gap.

I think that means that the "only" thing that we need to do is make sure that the production hub setup works as expected.

@rabernat
Copy link
Contributor Author

rabernat commented Sep 2, 2021

I think that the easiest thing to do for authenticating the students will be to manually add them to the Hub's user list via the Admin UI

Yes I approve this suggestion and will do it. I will just need a mechanism to gather github usernames from the students, which I will figure out myself.

@choldgraf
Copy link
Member

@rabernat you could probably add them to a GitHub Team "as if" we were using the proper teams-based authentication, and then just dump that list of usernames into the hub via the GitHub API (https://docs.github.com/en/rest/reference/teams#list-team-members)?

That way, when teams-based membership was possible you could just switch the auth setup and it would automatically work with the same group of people

@choldgraf
Copy link
Member

update: I've created issues for each of the major items that @rabernat described above. I've also added them to a project here so that we don't lose track of them: https://github.com/orgs/2i2c-org/projects/16

Could we re-scope this issue to just the first task list, and remove the others that are "next up"? I want to make sure that we don't lose focus on the most important things here to prepare @rabernat for his class on September 14th.

@sgibson91
Copy link
Member

Picking up #655 today

@rabernat
Copy link
Contributor Author

rabernat commented Sep 9, 2021

Thanks to everyone working on this. I appreciate your efforts so much! 🤗

I have played around with staging.pangeo.2i2c.cloud.

While I wouldn't close those issues just yet, I am satisfied that the hub works as needed to get my course started.

I would recommend to deploy the current config to production and then continue to iterate the other issues on staging.

@sgibson91
Copy link
Member

@rabernat if you could let us know what days of the week and times your classes are, I'll try to avoid merges during class time. (While we can iterate on staging separately, anything that gets merged will be deployed to all hubs through CI - that's why I'm thinking about avoiding your classes.)

@rabernat
Copy link
Contributor Author

rabernat commented Sep 9, 2021

Tuesday / Thurdsay 10am-11:30am ET.

However, the students may be using the hub at any hour of the day.

@sgibson91
Copy link
Member

@rabernat new hub is available at prod.pangeo.2i2c.cloud

@sgibson91 sgibson91 reopened this Sep 13, 2021
@sgibson91
Copy link
Member

Reopening until we fix #677

@rabernat
Copy link
Contributor Author

new hub is available at prod.pangeo.2i2c.cloud

🎉 One small nit: could we just use the DNS name pangeo.2i2c.cloud?

@sgibson91
Copy link
Member

When we actually migrate, I was going to point the DNS the project is currently using anyway, so our *2i2c.cloud address won't matter. But we need a way to distinguish between the prod and staging hubs as traffic for both are going through the same load balancer, and therefore the same IP address. So the short answer is, I don't think we can do that/I'm not sure of a way to do that given how our infrastructure is setup.

@yuvipanda
Copy link
Member

@sgibson91 if we create a DNS A record for pangeo.2i2c.cloud pointing to the IP, it should 'just work', regardless of the entry on staging.pangeo.2i2c.cloud.

@rabernat
Copy link
Contributor Author

Ok, this is not a dealbreaker, but just from a technical perspective, my understanding was that staging.pangeo.2i2c.cloud and pangeo.2i2c.cloud are distinct, fully qualified DNS names, so it should be possible.

@sgibson91
Copy link
Member

I'll see if I have time to get to it after firefighting #677

@sgibson91
Copy link
Member

The dedicated node pools are now up and working, and the hub is available at https://pangeo.2i2c.cloud

@rabernat
Copy link
Contributor Author

At the pangeo meeting today @sgibson91's update reminded me that I have not yet shared the following message.

🎉 🎉 Everything is working great with the new hub! 🎉 🎉

Thanks so much for your work pushing this forward. I sincerely appreciate the efforts on a tight timeline.

@choldgraf
Copy link
Member

wohoo! I indeed was wondering this haha. @sgibson91 thanks so much for all of your hard work :-)

@rabernat
Copy link
Contributor Author

Sorry for not posting earlier. Been swamped with actually teaching the class. Can you get the hub to do that part too? 😆

@choldgraf
Copy link
Member

It would not surprise me if @sgibson91 knew how to write a GitHub action that both teaches your class and writes a grant for you 🙂

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

Successfully merging a pull request may close this issue.

4 participants