AnsibleSpawner
Spawn JupyterHub single user notebook servers using Ansible.
This spawner runs Ansible playbooks to start, manage and stop JupyterHub singleuser servers. This means any Ansible module can be used to orchestrate your singleuser servers, including Docker and many public/private clouds, and other infrastructure platforms supported by the community. You can do things like create multiple storage volumes for each user, or provision additional services on other containers/VMs.
Prerequisites
Python 3.6 or above and JupyterHub 1.0.0 or above are required.
Installation
Configuration
Example jupyterhub_config.py spawner configuration.
ansible_path = "/path/to/"
c.JupyterHub.spawner_class = "ansible"
c.AnsibleSpawner.inventory = ansible_path + "inventory.yml.j2"
c.AnsibleSpawner.create_playbook = ansible_path + "create.yml"
c.AnsibleSpawner.update_playbook = ansible_path + "update.yml"
c.AnsibleSpawner.poll_playbook = ansible_path + "poll.yml"
c.AnsibleSpawner.destroy_playbook = ansible_path + "destroy.yml"
c.AnsibleSpawner.playbook_vars = {
"container_image": "docker.io/jupyter/base-notebook",
"ansible_python_interpreter": "python3",
}
c.AnsibleSpawner.start_timeout = 600
c.JupyterHub.hub_connect_ip = "10.0.0.1"
See the example playbooks under ./examples
Development
Pytest is used to run automated tests that require Docker and Podman. These platforms were chosen because they are self-contained and can be installed in Travis, whereas testing with public cloud platforms requires secure access credentials.
If you only have one of these you can limit tests by specifying a marker. For example, to disable the Docker tests:
pytest -vs -m "not docker"
To view test coverage run pytest with --cov=ansiblespawner --cov-report=html, then open htmlcov/index.html.
setuptools-scm is used to manage versions. Just create a git tag.
Metadata
Release files for ansiblespawner 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ansiblespawner-0.0.1.tar.gz | 21.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ansiblespawner-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.9 kB
Release files / ansiblespawner-0.0.1.tar.gz
| Download URL | ansiblespawner-0.0.1.tar.gz |
|---|---|
| Size | 21.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
379ef5b0a0d125dfdf4248e8446775479669c45a5af3763b6b8bc810b6728d1e
|
|
BLAKE2b-256 checksum How to use checksums |
11bd02a170729b416a51dcdc3cda8c6c617f85e5693582203b1f673c7e0e40a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|
Release files / ansiblespawner-0.0.1-py3-none-any.whl
| Download URL | ansiblespawner-0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9a484a03f3143eaa965f16ba426964c047f7d0eeb622c4ab6a82a19994b593d
|
|
BLAKE2b-256 checksum How to use checksums |
b71142915662cd32c7fbd0adc202640c1924e400195026534ee18e02bbc22415
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|