jupyterhub / kubespawner

Kubernetes spawner for JupyterHub
https://jupyterhub-kubespawner.readthedocs.io
BSD 3-Clause "New" or "Revised" License
543 stars 304 forks source link

Release planning for 6.1.0 #767

Closed consideRatio closed 1 year ago

consideRatio commented 1 year ago

KubeSpawner would benefit greatly from a release with #742 in it, what I think was a regression from previous major versions of KubeSpawner. Z2JH 3.0.0 - 3.0.3 users are affected by it. The consequences of this bug is that user pods can be left running in k8s while JupyterHub thinks the servers are stopped, and this can incurr significant cloud costs. Users with a stranded server can still re-start it via JupyterHub though.

To make this release, we should also include notes on how users can cleanup such stranded servers intelligently. @minrk has made a script that inspects k8s resources and the jupyterhub state to help figure out what user servers should be considered for cleanup.

Todo

Todo related to unlisted_choice

Todo considered outside the scope of this release

yuvipanda commented 1 year ago

https://github.com/jupyterhub/kubespawner/issues/758 is definitely a blocker. I think https://github.com/jupyterhub/kubespawner/issues/702 should also be in this.

consideRatio commented 1 year ago
consideRatio commented 1 year ago

@GeorgianaElena do you want to work on extracting out some logic from spawner.py before a release, or should we move ahead with 6.1.0?

consideRatio commented 1 year ago

Or anything else?

GeorgianaElena commented 1 year ago

@GeorgianaElena do you want to work on extracting out some logic from spawner.py before a release, or should we move ahead with 6.1.0?

Hmm, is the kubespawner release blocking other projecta? Right now I'm inclined to say that we should cut a realease first and not block on the refactor since we ca patch it later? At the same time, if we get a bug report about profiles, it would be amazing to have all the logic refactored into its own module and not have to fiddle around this big file.

Since I would only be able to tackle the refactor sometime early next week and I don't want to block the release on my availability, I will leave the final decision to you @consideRatio!

Thank you for pushing forward on this @consideRatio <3

consideRatio commented 1 year ago

No other project is blocked!

kubespawner (and z2jh where its mainly consumed) could benefit from having whats already merged in KubeSpawner released sooner rather than later though. The main branch currently includes a bugfix and a performance improvement besides the new unlisted_choice feature.

I opened #775 about refactoring work to extract profile_list related logic from spawner.py. Not feeling confident on how much work it will end up being, so it feels good to get this out first.

I've opened #768 and figure we'll release kubespawner 6.1.0 and z2jh 3.1.0 on monday if approved.

consideRatio commented 1 year ago

Change of mind, lets wait with 6.1.0!

@batpad is working on the unlisted_choice feature addressing #756 and #757. I don't want us to go for a 6.1.0 then but instead with a 6.1.0 release until the implementation of #756 is known. I think that implementation of #756 could benefit from the ease of making a breaking change in a not-yet-released feature. I don't know if breaking change is relevant for #756, but I don't rule it out.

consideRatio commented 1 year ago
yuvipanda commented 1 year ago

https://github.com/jupyterhub/kubespawner/pull/785 also blocks 6.1.0