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

DM-38408: Add support for the new Nublado lab controller #227

Merged
merged 8 commits into from
Mar 23, 2023
Merged

Conversation

rra
Copy link
Member

@rra rra commented Mar 22, 2023

Change the way that the image is specified to businesses that inherit from NubladoBusiness to put more of the model into the business model and rename it to Nublado to be more consistent about branding. (This is not generic JupyterHub support.) Add support for the various ways of specifying an image that are supported by the new lab controller.

Make cachemachine support conditional, and if disabled, use the new direct POST protocol for spawning an image by class, reference, or tag that's spelled out in SQR-066.

This means that the running business no longer knows the exact lab that was spawned, since we previously relied on cachemachine to tell us that and in the new setup there's no need to ask the lab controller anything directly. Discover the lab image instead by running some Python code in it after it was spawned, similar to how we discover the node name. This will get the description under either the old or new spawning method, and the full reference when the lab was spawned by the lab controller.

rra added 4 commits March 21, 2023 18:40
Change the way that the image is specified to businesses that
inherit from NubladoBusiness to put more of the model into the
business model and rename it to Nublado to be more consistent about
branding. (This is not generic JupyterHub support.) Add support for
the various ways of specifying an image that are supported by the
new lab controller.

Make cachemachine support conditional, and if disabled, use the new
direct POST protocol for spawning an image by class, reference, or
tag that's spelled out in SQR-066.

This means that the running business no longer knows the exact lab
that was spawned, since we previously relied on cachemachine to tell
us that and in the new setup there's no need to ask the lab controller
anything directly. Discover the lab image instead by running some
Python code in it after it was spawned, similar to how we discover the
node name. This will get the description under either the old or new
spawning method, and the full reference when the lab was spawned by the
lab controller.
We use this as a health check, so make sure it works.
Need to escape the newline used as an argument to print.
Add a configuration option to set the error idle time, and
increase the default for Nublado businesses to the ten minute
timeout imposed by JupyterHub when it's waiting for the lab to
spawn. It won't let us try to delete the lab before then anyway,
so attempting it just results in alert spam.
rra added 4 commits March 22, 2023 20:46
rubin_jupyter_utils.lab.notebook.utils was deprecated and appears
to no longer work. lsst.rsp.get_node does appear to work and no
longer prints a bunch of warning messages.
We need to use a separate name for the logger for each monkey so
that they don't overwrite each other, but this was accidentally
broken in the refactor. Go back to using the logger whose name
matches the monkey's name.
These end up in the API documentation for EmptyLoop, so for now
just drop the extra explanations. Revisit this once we have a proper
manual.
For now, this just contains 5.0.0 and hasn't been backfilled with
the changes from previous releases.
@rra rra merged commit 9d98985 into main Mar 23, 2023
@rra rra deleted the tickets/DM-38408 branch March 23, 2023 04:40
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.

1 participant