Releases: lsst-sqre/nublado
Releases · lsst-sqre/nublado
8.8.2
What's Changed
- DM-49735: Add periodic PyPI packaging test by @rra in #512
- DM-49735: Use released lsst-sqre/build-and-publish-to-pypi by @rra in #513
- DM-49774: Push inithome containers to Google by @rra in #514
- tickets/DM-47346: rebuild jupyterlab-base by @athornton in #464
Full Changelog: 8.8.1...8.8.2
8.8.1
Bug fixes
- Fix uploads of
rubin-nublado-client
to PyPI.
What's Changed
- DM-49735: Use uv to build and upload PyPI packages by @rra in #508
- DM-49735: Use PEP 639 for license information by @rra in #509
- DM-49735: Add do not upload markers to non-PyPI packages by @rra in #510
- DM-49735: Prepare 8.8.1 release by @rra in #511
Full Changelog: 8.8.0...8.8.1
8.8.0
New features
- Support setting the interval for activity reporting from JupyterLab in the Nubaldo controller configuration.
Bug fixes
- Add a configuration setting for where to redirect the user after logout from JupyterHub. When user subdomains are in use, this needs to point to
/logout
at the base URL for the Science Platform, not/logout
at the current hostname, which may be the JupyterHub hostname and thus create an infinite redirect loop. - Use the configured delete timeout when deleting invalid labs instead of a hard-coded 30s timeout.
What's Changed
- DM-49624: Add configuration option for JupyterHub logout URL by @rra in #501
- DM-49644: Fix the logger name in the Nublado controller by @rra in #503
- DM-49662: Use configured delete timeout for invalid labs by @rra in #504
- Document the delete timeout in the spawner by @rra in #505
- DM-49662: Support setting JUPYTERHUB_ACTIVITY_INTERVAL by @rra in #506
- DM-49662: Prepare 8.8.0 release by @rra in #507
Full Changelog: 8.7.1...8.8.0
8.7.1
Bug fixes
- Fix the
NetworkPolicy
created for user labs so that it actually restricts access to only JupyterHub, its proxy, and the lab itself as was intended.
What's Changed
- DM-49558: Fix NetworkPolicy for user labs by @rra in #499
- DM-49558: Prepare 8.7.1 release by @rra in #500
Full Changelog: 8.7.0...8.7.1
8.7.0
New features
- Add support for per-user subdomains to the Nublado client. If they are enabled, they will be automatically detected and the Nublado client will adjust its HTTP requests accordingly.
- Add support to the Nublado client testing mocks for simulating per-user subdomains.
- Add
config.allowOptions
to theGafaelfawrIngress
for file servers so that the server will work correctly with Gafaelfawr 13.0.0 and later.
Bug fixes
- Set
Sec-Fetch-Mode
in several places in the Nublado client to suppress harmless but annoying warnings in the JupyterHub logs.
What's Changed
- DM-49388: Support per-user subdomains in the Nublado client by @rra in #494
- DM-49493: Annotate the mock client fixture by @rra in #496
- DM-49493: Set allowOptions in ingress for file server by @rra in #497
- DM-49388: Prepare 8.7.0 release by @rra in #498
Full Changelog: 8.6.0...8.7.0
8.6.0
New features
- Add support to the Nublado controller for restricting the list of images shown in the dropdown menu based on age, count within a category, or a version cutoff.
Bug fixes
- Fix an unbound variable error in the Nublado client in one error handling situation.
What's Changed
- tickets/DM-48682-dropdown-implementation: add dropdown menu restriction policy by @athornton in #481
- DM-49191: Skip to next message if Exception is raised in run_python by @stvoutsin in #492
- prepare release 8.6.0 by @athornton in #493
Full Changelog: 8.5.0...8.6.0
8.5.0
8.4.2
Bug fixes
- Fix
TypeError
exception when trying to establish websocket connections. Version 14 of websockets changed the signature of theconnect
method.
What's Changed
- Update websockets requirement from <15,>=14 to >=14,<16 in /client by @dependabot in #484
- DM-48977: Fix client testing documentation by @rra in #485
- DM-49032: Fix another
websockets
>=14 breaking change by @fajpunk in #486 - Prepare 8.4.2 release by @fajpunk in #489
New Contributors
Full Changelog: 8.4.1...8.4.2
8.4.1
Bug fixes
- Wait for the default service account of the user's lab namespace to be created before creating the
Pod
object. Creation of the service account can be slow when Kubernetes is busy, and creation of thePod
object will fail if the service account does not exist. - Remove the limit on the connection pool used to contact the Nublado controller from the JupyterHub spawner, since otherwise JupyterHub stops being able to do any work once the connections waiting for spawn progress exhaust the connect pool.
- Remove the limit on the Kubernetes client connection pool in the Nublado controller. This will allow the controller to scale to more than 100 (the default) simultaneous watches.
- Remove the limit on the connection pool used to look up users in Gafaelfawr and query a Docker image repository.
- Fix unsafe data structure manipulation when deleting completed labs in the Nublado controller background reconciliation thread.
What's Changed
- Add date and age fields to RSPTag by @athornton in #470
- DM-48838: Remove the spawner connection pool limit by @rra in #476
- DM-48838: Remove Kubernetes connection pool limit by @rra in #477
- DM-48838: Fix state tracking when deleting completed labs by @rra in #478
- Add configuration for dropdown filtering by @athornton in #475
- DM-48838: Wait for service account creation on lab spawn by @rra in #480
- DM-48838: Remove HTTP client connection pool limit by @rra in #482
- DM-48838: Prepare 8.4.1 release by @rra in #483
Full Changelog: 8.4.0...8.4.1
8.4.0
New features
- Log metrics events in the Nublado controller for lab spawn successes and failures and a count of the number of active labs.
Bug fixes
- Do not query Kubernetes for pod status when responding to status requests, and instead assume the internal state (which is reconciled periodically) is correct. The constant Kubernetes API requests for
Pod
status seemed to be overwhelming the control plane when there were a lot of pods running. Continue to ask Kubernetes directly immediately before spawn. - Report Kubernetes operation timeouts properly when they cause a spawn failure rather than throwing an uncaught exception.
- Add tolerations to prepuller pods as well as lab and file server pods so that images can be prepulled to tainted nodes.
What's Changed
- DM-48597: Fix handling of timeouts in Kubernetes operations by @rra in #463
- DM-48696: Add metrics events by @rra in #465
- DM-48760: Handle timeout exceptions when listing nodes by @rra in #468
- DM-48714: Do not query Kubernetes for pod status by @rra in #467
- DM-48761: Add tolerations to prepuller pods by @rra in #469
- DM-48714: Reconcile labs every five minutes by @rra in #472
- DM-48714: Prepare 8.4.0 release by @rra in #473
Full Changelog: 8.3.0...8.4.0