Releases: jupyterhub/batchspawner
Batchspawner 1.3
This release requires Python >=3.6 and JupyterHub >=1.5.1.
New features added
- allow for req_keepvars_extra to be configured #295 (@mark-tomich, @minrk)
Bugs fixed
- Remove
which jupyterhub-singleusercommand fromSlurmSpawner.batch_script#265 (@t20100, @consideRatio)
Maintenance and upkeep improvements
- TST: don't assume test user is OS user #301 (@minrk)
- Add python 3.12 for tests #299 (@Ph0tonic, @consideRatio)
- maint: req py36+ and jh 1.5.1+, fix tests, add RELEASE.md, add pre-commit hooks, add dependabot #273 (@consideRatio, @mbmilligan, @ryanlovett, @yuvipanda, @mahendrapaipuri)
- Upgrade singleuser.py to JupyterHub 4 #267 (@mahendrapaipuri, @minrk, @consideRatio)
- Remove reading/setting HubAuth SSL attributes in singeuser #259 (@cmd-ntrf, @consideRatio)
- Fix Slurm test used regular expression #256 (@t20100, @consideRatio)
- Quell async warning, and POST with body for jupyterhub 3.0 #247 (@ryanlovett, @mbmilligan, @rcthomas, @minrk, @jbeal-work, @mawigh, @cmd-ntrf, @jaescartin1)
- Improve submit_batch_script logging #219 (@cmd-ntrf, @consideRatio, @mbmilligan)
Documentation improvements
- Add temporary info about a temporary bug with JupyterHub 3+ #290 (@krokicki, @consideRatio)
Continuous integration improvements
- Modernize test matrix #252 (@mbmilligan)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@basnijholt (activity) | @cmd-ntrf (activity) | @consideRatio (activity) | @jaescartin1 (activity) | @jbeal-work (activity) | @krokicki (activity) | @mahendrapaipuri (activity) | @mark-tomich (activity) | @mawigh (activity) | @mbmilligan (activity) | @minrk (activity) | @opoplawski (activity) | @Ph0tonic (activity) | @rcthomas (activity) | @ryanlovett (activity) | @t20100 (activity) | @yuvipanda (activity)
Batchspawner 1.2
Minor release incorporating various minor fixes. This will likely be the last release that supports Jupyterhub releases older than 1.0.
What's Changed
Changed
- PR #237: Replace use of scripts with entry_points
- PR #208 #238 #239 #240 #241: updates to CI - bumping versions and aligning with Jupyterhub standards
- PR #220: remove code supporting Jupyterhub earlier than 0.9
Fixed
- PR #229: LSF jobs with multiple slots display each hostname ':' separated
New Contributors
- @consideRatio made their first contribution in #208
- @bollwyvl made their first contribution in #238
- @ECoulter made their first contribution in #234
- @pre-commit-ci made their first contribution in #244
- @jbeal-work made their first contribution in #229
Full Changelog: v1.1.0...v1.2.0
Batchspawner 1.1
Added (user)
- PR #170: SlurmSpawner: add
req_gresto specify-go-res. - PR #137: GridEngineSpawner: spawner will now add the following system environment values to the spawner environment, in accordance with the Univa Admin Guide:
SGE_CELL,SGE_EXECD,SGE_ROOT,SGE_CLUSTER_NAME,SGE_QMASTER_PORT,SGE_EXECD_PORT,PATH
Added (developer)
- PR #187: support for unknown job state
Changed
- PR #177: Fail on first error in batch script by setting
set -eto script templates. - PR #165: SlurmSpawner: Update template to use
--chdirinstead of--workdir. Users of Slurm older than 17.11 may need to revert this locally. - PR #189: remove bashism from default script template
- PR #195: fix exception handling in run_command
- PR #198: change from Travis to gh-actions for testing
- PR #196: documentation
- PR #199: update setup.py
Batchspawner 1.0.1
Minor version bump to exercise Github Actions pipeline to deploy releases to PyPI. No code changes in this release.
Batchspawner 1.0.0
Changelog
v1.0 (requires minimum JupyterHub 0.9 and Python 3.5)
Added (user)
- Add support for JupyterHub named servers. #167
- Add Jinja2 templating as an option for all scripts and commands. If '{{' or
{%is used anywhere in the string, it is used as a jinja2 template. - Add new option exec_prefix, which defaults to
sudo -E -u {username}. This replaces explicitsudoin every batch command - changes in local commands may be needed. - New option:
req_keepvars_extra, which allows keeping extra variables in addition to what is defined by JupyterHub itself (addition of variables to keep instead of replacement). #99 - Add
req_prologueandreq_epilogueoptions to scripts which are inserted before/after the main jupyterhub-singleuser command, which allow for generic setup/cleanup without overriding the entire script. #96 - SlurmSpawner: add the
req_reservationoption. #91 - Add basic support for JupyterHub progress updates, but this is not used much yet. #86
Added (developer)
- Add many more tests.
- Add a new page
SPAWNERS.mdwhich information on specific spawners. Begin trying to collect a list of spawner-specific contacts. #97 - Rename
current_ipandcurrent_portcommands toipandport. No user impact. #139 - Update to Python 3.5
async/awaitsyntax to support JupyterHub progress updates. #90
Changed
- PR #58 and #141 changes logic of port selection, so that it is selected after the singleuser server starts. This means that the port number has to be conveyed back to JupyterHub. This requires the following changes:
jupyterhub_config.pymust explicitely importbatchspawner- Add a new option
batchspawner_singleuser_cmdwhich is used as a wrapper in the single-user servers, which conveys the remote port back to JupyterHub. This is now an integral part of the spawn process. - If you have installed with
pip install -e, you will have to re-install so that the new scriptbatchspawner-singleuseris added to$PATH.
- Update minimum requirements to JupyterHub 0.9 and Python 3.5. #143
- Update Slurm batch script. Now, the single-user notebook is run in a job step, with a wrapper of
srun. This may need to be removed usingreq_srun=''if you don't want environment variables limited. - Pass the environment dictionary to the queue and cancel commands as well. This is mostly user environment, but may be useful to these commands as well in some cases. #108, #111 If these environment variables were used for authentication as an admin, be aware that there are pre-existing security issues because they may be passed to the user via the batch submit command, see #82.
Fixed
Batchspawner 1.0.0 rc0
Release candidate for version 1.0.0 of Batchspawner - intended for use with Jupyterhub 1.0 and later, compatible with Python 3.5 and later
Batchspawner 0.8.1
v0.8.1 (bugfix release)
- Fix regression: single-user server binding address is overwritten by previous session server address, resulting in failure to start. Issue #76
Batchspawner 0.8.0
v0.8
Compatible/tested with JupyterHub 0.5.0 through 0.8.1/0.9dev and Python 3.3 through 3.6
- SlurmSpawner: Remove
--uidfor (at least) Slurm 17.11 compatibility. If you usesudo, this should not be necessary, but because this is security related you should check that user management is as you expect. If your configuration does not usesudothen you may need to add the--uidoption in a custombatch_script. - add base options
req_ngpusreq_partitionreq_accountandreq_options - Fix up logging
- Merge
user_optionswith the template substitution vars instead of having it as a separate key - Update ip/port handling for JupyterHub 0.8
- Add
LICENSE(BSD3) andCONTRIBUTING.md - Add
LsfSpawnerfor IBM LFS - Add
MultiSlurmSpawner - Add
MoabSpawner - Add
condorSpawner - Add
GridEngineSpawner - SlurmSpawner: add
req_qosoption - WrapSpawner and ProfilesSpawner, which provide mechanisms for runtime configuration of spawners, have been split out and moved to the
wrapspawnerpackage - Enable CI testing via Travis-CI
Batchspawner 0.8.0rc0
Release candidate for Batchspawner 0.8.0.
This version is known to work with Jupyterhub 0.5 and newer, and Python 3.3 and newer.
Batchspawner for Jupyterhub 0.3
Stable version of BatchSpawner targetting Jupyterhub release 0.3.
This version supports Torque and Slurm.