Skip to content

Releases: jupyterhub/batchspawner

Batchspawner 1.3

19 Mar 06:32
Compare
Choose a tag to compare

This release requires Python >=3.6 and JupyterHub >=1.5.1.

New features added

Bugs fixed

Maintenance and upkeep improvements

Documentation improvements

Continuous integration improvements

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

05 Oct 04:46
0b15e4f
Compare
Choose a tag to compare

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

Full Changelog: v1.1.0...v1.2.0

Batchspawner 1.1

07 Apr 15:14
b5ede01
Compare
Choose a tag to compare

Added (user)

  • PR #170: SlurmSpawner: add req_gres to 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 -e to script templates.
  • PR #165: SlurmSpawner: Update template to use --chdir instead 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

04 Nov 17:40
Compare
Choose a tag to compare

Minor version bump to exercise Github Actions pipeline to deploy releases to PyPI. No code changes in this release.

Batchspawner 1.0.0

21 Jul 20:52
Compare
Choose a tag to compare

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 explicit sudo in 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_prologue and req_epilogue options 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_reservation option. #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.md which information on specific spawners. Begin trying to collect a list of spawner-specific contacts. #97
  • Rename current_ip and current_port commands to ip and port. No user impact. #139
  • Update to Python 3.5 async / await syntax 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.py must explicitely import batchspawner
    • Add a new option batchspawner_singleuser_cmd which 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 script batchspawner-singleuser is 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 using req_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

  • Improve debugging on failed submission by raising errors including error messages from the commands. #106
  • Many other non-user or developer visible changes. #107 #106 #100
  • In Travis CI, blacklist jsonschema=3.0.0a1 because it breaks tests

Batchspawner 1.0.0 rc0

03 Apr 04:18
33b4a7b
Compare
Choose a tag to compare
Pre-release

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

02 May 20:44
ce0729d
Compare
Choose a tag to compare

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

24 Apr 23:36
846a900
Compare
Choose a tag to compare

v0.8

Compatible/tested with JupyterHub 0.5.0 through 0.8.1/0.9dev and Python 3.3 through 3.6

  • SlurmSpawner: Remove --uid for (at least) Slurm 17.11 compatibility. If you use sudo, 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 use sudo then you may need to add the --uid option in a custom batch_script.
  • add base options req_ngpus req_partition req_account and req_options
  • Fix up logging
  • Merge user_options with the template substitution vars instead of having it as a separate key
  • Update ip/port handling for JupyterHub 0.8
  • Add LICENSE (BSD3) and CONTRIBUTING.md
  • Add LsfSpawner for IBM LFS
  • Add MultiSlurmSpawner
  • Add MoabSpawner
  • Add condorSpawner
  • Add GridEngineSpawner
  • SlurmSpawner: add req_qos option
  • WrapSpawner and ProfilesSpawner, which provide mechanisms for runtime configuration of spawners, have been split out and moved to the wrapspawner package
  • Enable CI testing via Travis-CI

Batchspawner 0.8.0rc0

02 Apr 02:46
Compare
Choose a tag to compare
Batchspawner 0.8.0rc0 Pre-release
Pre-release

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.