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

basehub: update jupyterhub chart from 3.2.1 to 3.3.7 (Scheduled for 9nd April) #3818

Merged
merged 4 commits into from
Apr 9, 2024

Conversation

consideRatio
Copy link
Contributor

@consideRatio consideRatio commented Mar 20, 2024

This update brings in jupyterhub 4.1.0 and oauthenticator 16.3.0.

Two bugfixes upstream

This early adoption of z2jh's new release led to catching two bugs.

Compatibility fix in jupyterhub-configurator

About JupyterHub 4.1.1 - 4.1.5 releases

Several (all?) of the issues patched related to jupyterhub code executed in the user servers, which are unaffected by this PRs upgrade of the server side part of jupyterhub.

Verifications

  • jupyterhub-configurator works
  • rstudio works
  • nbgitpuller works (nbgitpuller 1.2.1+ is required if jupyterhub 4.1 is used in the user env)
  • jupyter-resource-usage works
  • jupyter-remote-desktop-proxy works (2.0.0+ is required if jupyterhub 4.1 is used in the user env)
  • jupyter notebook 6
  • jupyter notebook 7 (jupyter_server based, like jupyter lab)

Related

@consideRatio consideRatio requested a review from a team as a code owner March 20, 2024 15:57

This comment was marked as resolved.

@consideRatio consideRatio marked this pull request as draft March 20, 2024 16:23
@consideRatio
Copy link
Contributor Author

consideRatio commented Mar 20, 2024

z2jh 3.3.0 is broken because pycurl is broken due to a regression in a patch release, working to fix it now.

EDIT: we are bumping to z2jh 3.3.1 instead now.

@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.0 basehub: update jupyterhub chart from 3.2.1 to 3.3.1 Mar 20, 2024
@consideRatio consideRatio marked this pull request as ready for review March 20, 2024 20:28
Copy link
Member

@yuvipanda yuvipanda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test in a staging environment and then this is good to go!

@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.1 basehub: update jupyterhub chart from 3.2.1 to 3.3.2 Mar 20, 2024
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch from 6b4af3b to 616fc97 Compare March 20, 2024 22:34
@consideRatio consideRatio reopened this Mar 20, 2024
@consideRatio
Copy link
Contributor Author

consideRatio commented Mar 20, 2024

Okay, two z2jh patch releases later things work it seems!

Will merge tomorrow when I'm starting my workday. Thank you for reviewing this @yuvipanda!!

@consideRatio consideRatio marked this pull request as draft March 21, 2024 08:25
@consideRatio
Copy link
Contributor Author

@yuvipanda I'm getting pulled into needing to understand how jupyterhub-configurator works etc since its broken against jupyterhub 4.1.0 - likely due to CORS related changes.

I'd like to bite the bullet and catch up with misc maintenance:

Are you OK with granting me maintainer rights and going for it quite swiftly?

@yuvipanda
Copy link
Member

@consideRatio I've added you as maintainer. However, there are no users of that outside of 2i2c (especially after it was taken out of tljh), and it is an architectural dead end. I think it's ok to do the work that unblocks z2jh upgrades, but i don't think it should have any other work done on it at all.

I've closed or merged PRs as appropriate.

@yuvipanda
Copy link
Member

I'd also think it's appropriate to rollback jupyterhub-configurator to the commit that was known good and worked here, do whatever fix is needed for 4.1, and just get that going.

@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.2 basehub: update jupyterhub chart from 3.2.1 to 3.3.3 Mar 22, 2024
@consideRatio consideRatio reopened this Mar 23, 2024
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch 2 times, most recently from 7e05c14 to 6a7121c Compare March 23, 2024 20:33
@consideRatio consideRatio marked this pull request as ready for review March 23, 2024 20:37
Copy link
Member

@yuvipanda yuvipanda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the xsrf changes seem to be slightly bumpy, I suggest we hold off this for a week to let things shake out.

@consideRatio consideRatio marked this pull request as draft March 26, 2024 10:05
@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.3 basehub: update jupyterhub chart from 3.2.1 to 3.3.5 Mar 26, 2024
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch from 6a7121c to 4e62f66 Compare March 27, 2024 10:39
@consideRatio consideRatio marked this pull request as ready for review March 27, 2024 10:40
@consideRatio
Copy link
Contributor Author

I'm planning this to be deployed next tuesday - 2nd April.

@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.5 (Scheduled for 2nd April) basehub: update jupyterhub chart from 3.2.1 to 3.3.6 (Scheduled for 2nd April) Apr 2, 2024
@consideRatio consideRatio requested a review from yuvipanda April 2, 2024 08:14
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch 2 times, most recently from 5c951e8 to 144d367 Compare April 2, 2024 09:48
@consideRatio
Copy link
Contributor Author

consideRatio commented Apr 2, 2024

@yuvipanda I've verified that a server-side change doesn't cause issues in any of the things you listed.


Beyond this because its related, I've considered the user environments. I've concluded that jupyterhub 4.1.4, nbgitpuller 1.2.1, and jupyter-remote-desktop-proxy 2.0.0, jupyter-resource-usage 1.0.2 (no patch needed), and utoronto's classical UI from notebook 6, Lab UI, and RStudio UI works when jupyterhub-singleuser 4.1.4 is used in the user environment - use of jupyterhub 4.0 or 4.1 server side doesn't change this.

  • jupyter/docker-stacks latest published images have jupyterhub 4.1.4
  • pangeo/pangeo-docker-images latest tagged image has jupyterhub 4.0.2, and will when release is made go straight to 4.1.4 with nbgitpuller 1.2.1 as its part of the master branch already.
  • rocker/binder images have jupyterhub 4.1.3 currently which makes rstudio work

OK to ship today? The option to this is next week if I'm to take responsibility and monitor this change without entering too much non-working hours.

@yuvipanda
Copy link
Member

@consideRatio thanks for doing that. My suggestion is to do this next week, given we still have a bunch of things that we had committed to this sprint not done yet. We can schedule this during the sprint planning meeting for the next one.

@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.6 (Scheduled for 2nd April) basehub: update jupyterhub chart from 3.2.1 to 3.3.6 (Scheduled for 9nd April) Apr 3, 2024
@consideRatio
Copy link
Contributor Author

@yuvipanda rescheduled to 9th april!

@damianavila
Copy link
Contributor

Ask @GeorgianaElena to spend some cycles on this one next week.

yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request Apr 5, 2024
The Auth0 authenticator made the EarthScope authentication mechanism
look more custom than it really was - it's really just standard
auth0, and if you look at the [auth0 authenticator](https://github.com/jupyterhub/oauthenticator/blob/main/oauthenticator/auth0.py)
code it's fairly minimal - just a couple of convenience functions.
This PR switches that (+ our auth0 documentation) to simply use
GenericOAuthenticator. This has the following advantages:

1. The Auth0 documentation we have can be easily ported to just
   support any Generic OAuth provider if needed in the future.
2. The GenericOAuthenticator has features the Auth0 one does not -
   particularly around groups management that we do want to use.
   While eventually I think this should be made available to all
   authenticators (and will work with upstream in doing so), moving
   to GenericOAuthenticator unblocks planning & scheduling engineering work here
   as soon as 2i2c-org#3818
   is merged.
3. It signals that the EarthScope hub is not *that* special, just the
   first as a way for us to develop and offer new features. We should
   work on structuring how we do this, and signal when features are
   available in what hubs. But in the meantime, this reduces the overall
   apparent complexity to match actual complexity
4. Removes the custom logout_url work, and instead just mentions you need
   to set the `client_id` in the logout_url, and adds that to our auth0
   documentation. This removes more custom code we have for EarthScope.
   Once jupyterhub/oauthenticator#719 is merged,
   this helps us remove all custom code here from earthscope. This
   part fixes 2i2c-org#3715

This was triggered as cleanup by https://2i2c.freshdesk.com/a/tickets/1453.
I'll create appropriate issues for next steps, and will prioritize any
future work accordingly with our engineering processes.
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch from 73678d8 to 2e64459 Compare April 9, 2024 05:26
@consideRatio consideRatio changed the title basehub: update jupyterhub chart from 3.2.1 to 3.3.6 (Scheduled for 9nd April) basehub: update jupyterhub chart from 3.2.1 to 3.3.7 (Scheduled for 9nd April) Apr 9, 2024
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch from 2e64459 to 3967b20 Compare April 9, 2024 09:29
@consideRatio consideRatio force-pushed the pr/bump-to-z2jh-3.3.0 branch from 3967b20 to f5d5f73 Compare April 9, 2024 09:35
@consideRatio consideRatio merged commit 5c1055c into 2i2c-org:main Apr 9, 2024
37 checks passed
Copy link

github-actions bot commented Apr 9, 2024

🎉🎉🎉🎉

Monitor the deployment of the hubs here 👉 https://github.com/2i2c-org/infrastructure/actions/runs/8613587954

yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request Apr 30, 2024
The Auth0 authenticator made the EarthScope authentication mechanism
look more custom than it really was - it's really just standard
auth0, and if you look at the [auth0 authenticator](https://github.com/jupyterhub/oauthenticator/blob/main/oauthenticator/auth0.py)
code it's fairly minimal - just a couple of convenience functions.
This PR switches that (+ our auth0 documentation) to simply use
GenericOAuthenticator. This has the following advantages:

1. The Auth0 documentation we have can be easily ported to just
   support any Generic OAuth provider if needed in the future.
2. The GenericOAuthenticator has features the Auth0 one does not -
   particularly around groups management that we do want to use.
   While eventually I think this should be made available to all
   authenticators (and will work with upstream in doing so), moving
   to GenericOAuthenticator unblocks planning & scheduling engineering work here
   as soon as 2i2c-org#3818
   is merged.
3. It signals that the EarthScope hub is not *that* special, just the
   first as a way for us to develop and offer new features. We should
   work on structuring how we do this, and signal when features are
   available in what hubs. But in the meantime, this reduces the overall
   apparent complexity to match actual complexity
4. Removes the custom logout_url work, and instead just mentions you need
   to set the `client_id` in the logout_url, and adds that to our auth0
   documentation. This removes more custom code we have for EarthScope.
   Once jupyterhub/oauthenticator#719 is merged,
   this helps us remove all custom code here from earthscope. This
   part fixes 2i2c-org#3715

This was triggered as cleanup by https://2i2c.freshdesk.com/a/tickets/1453.
I'll create appropriate issues for next steps, and will prioritize any
future work accordingly with our engineering processes.
yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request May 3, 2024
The Auth0 authenticator made the EarthScope authentication mechanism
look more custom than it really was - it's really just standard
auth0, and if you look at the [auth0 authenticator](https://github.com/jupyterhub/oauthenticator/blob/main/oauthenticator/auth0.py)
code it's fairly minimal - just a couple of convenience functions.
This PR switches that (+ our auth0 documentation) to simply use
GenericOAuthenticator. This has the following advantages:

1. The Auth0 documentation we have can be easily ported to just
   support any Generic OAuth provider if needed in the future.
2. The GenericOAuthenticator has features the Auth0 one does not -
   particularly around groups management that we do want to use.
   While eventually I think this should be made available to all
   authenticators (and will work with upstream in doing so), moving
   to GenericOAuthenticator unblocks planning & scheduling engineering work here
   as soon as 2i2c-org#3818
   is merged.
3. It signals that the EarthScope hub is not *that* special, just the
   first as a way for us to develop and offer new features. We should
   work on structuring how we do this, and signal when features are
   available in what hubs. But in the meantime, this reduces the overall
   apparent complexity to match actual complexity
4. Removes the custom logout_url work, and instead just mentions you need
   to set the `client_id` in the logout_url, and adds that to our auth0
   documentation. This removes more custom code we have for EarthScope.
   Once jupyterhub/oauthenticator#719 is merged,
   this helps us remove all custom code here from earthscope. This
   part fixes 2i2c-org#3715

This was triggered as cleanup by https://2i2c.freshdesk.com/a/tickets/1453.
I'll create appropriate issues for next steps, and will prioritize any
future work accordingly with our engineering processes.
yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request May 7, 2024
The Auth0 authenticator made the EarthScope authentication mechanism
look more custom than it really was - it's really just standard
auth0, and if you look at the [auth0 authenticator](https://github.com/jupyterhub/oauthenticator/blob/main/oauthenticator/auth0.py)
code it's fairly minimal - just a couple of convenience functions.
This PR switches that (+ our auth0 documentation) to simply use
GenericOAuthenticator. This has the following advantages:

1. The Auth0 documentation we have can be easily ported to just
   support any Generic OAuth provider if needed in the future.
2. The GenericOAuthenticator has features the Auth0 one does not -
   particularly around groups management that we do want to use.
   While eventually I think this should be made available to all
   authenticators (and will work with upstream in doing so), moving
   to GenericOAuthenticator unblocks planning & scheduling engineering work here
   as soon as 2i2c-org#3818
   is merged.
3. It signals that the EarthScope hub is not *that* special, just the
   first as a way for us to develop and offer new features. We should
   work on structuring how we do this, and signal when features are
   available in what hubs. But in the meantime, this reduces the overall
   apparent complexity to match actual complexity
4. Removes the custom logout_url work, and instead just mentions you need
   to set the `client_id` in the logout_url, and adds that to our auth0
   documentation. This removes more custom code we have for EarthScope.
   Once jupyterhub/oauthenticator#719 is merged,
   this helps us remove all custom code here from earthscope. This
   part fixes 2i2c-org#3715

This was triggered as cleanup by https://2i2c.freshdesk.com/a/tickets/1453.
I'll create appropriate issues for next steps, and will prioritize any
future work accordingly with our engineering processes.
yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request May 7, 2024
The Auth0 authenticator made the EarthScope authentication mechanism
look more custom than it really was - it's really just standard
auth0, and if you look at the [auth0 authenticator](https://github.com/jupyterhub/oauthenticator/blob/main/oauthenticator/auth0.py)
code it's fairly minimal - just a couple of convenience functions.
This PR switches that (+ our auth0 documentation) to simply use
GenericOAuthenticator. This has the following advantages:

1. The Auth0 documentation we have can be easily ported to just
   support any Generic OAuth provider if needed in the future.
2. The GenericOAuthenticator has features the Auth0 one does not -
   particularly around groups management that we do want to use.
   While eventually I think this should be made available to all
   authenticators (and will work with upstream in doing so), moving
   to GenericOAuthenticator unblocks planning & scheduling engineering work here
   as soon as 2i2c-org#3818
   is merged.
3. It signals that the EarthScope hub is not *that* special, just the
   first as a way for us to develop and offer new features. We should
   work on structuring how we do this, and signal when features are
   available in what hubs. But in the meantime, this reduces the overall
   apparent complexity to match actual complexity
4. Removes the custom logout_url work, and instead just mentions you need
   to set the `client_id` in the logout_url, and adds that to our auth0
   documentation. This removes more custom code we have for EarthScope.
   Once jupyterhub/oauthenticator#719 is merged,
   this helps us remove all custom code here from earthscope. This
   part fixes 2i2c-org#3715

This was triggered as cleanup by https://2i2c.freshdesk.com/a/tickets/1453.
I'll create appropriate issues for next steps, and will prioritize any
future work accordingly with our engineering processes.
yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request May 7, 2024
The Auth0 authenticator made the EarthScope authentication mechanism
look more custom than it really was - it's really just standard
auth0, and if you look at the [auth0 authenticator](https://github.com/jupyterhub/oauthenticator/blob/main/oauthenticator/auth0.py)
code it's fairly minimal - just a couple of convenience functions.
This PR switches that (+ our auth0 documentation) to simply use
GenericOAuthenticator. This has the following advantages:

1. The Auth0 documentation we have can be easily ported to just
   support any Generic OAuth provider if needed in the future.
2. The GenericOAuthenticator has features the Auth0 one does not -
   particularly around groups management that we do want to use.
   While eventually I think this should be made available to all
   authenticators (and will work with upstream in doing so), moving
   to GenericOAuthenticator unblocks planning & scheduling engineering work here
   as soon as 2i2c-org#3818
   is merged.
3. It signals that the EarthScope hub is not *that* special, just the
   first as a way for us to develop and offer new features. We should
   work on structuring how we do this, and signal when features are
   available in what hubs. But in the meantime, this reduces the overall
   apparent complexity to match actual complexity
4. Removes the custom logout_url work, and instead just mentions you need
   to set the `client_id` in the logout_url, and adds that to our auth0
   documentation. This removes more custom code we have for EarthScope.
   Once jupyterhub/oauthenticator#719 is merged,
   this helps us remove all custom code here from earthscope. This
   part fixes 2i2c-org#3715

This was triggered as cleanup by https://2i2c.freshdesk.com/a/tickets/1453.
I'll create appropriate issues for next steps, and will prioritize any
future work accordingly with our engineering processes.
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 this pull request may close these issues.

4 participants