跳转到主要内容

使用Ansible生成JupyterHub单用户笔记本服务器

项目描述

AnsibleSpawner

GitHub Workflow codecov

使用JupyterHubAnsible生成单用户笔记本服务器。

此生成器运行Ansible剧本来启动、管理和停止JupyterHub单用户服务器。这意味着任何Ansible模块都可以用来编排您的单用户服务器,包括Docker和许多公共/私有云以及社区支持的其他基础设施平台。您可以做一些事情,比如为每个用户创建多个存储卷,或者在其他的容器/VM上提供额外的服务。

先决条件

需要Python 3.6或更高版本和JupyterHub 1.0.0或更高版本。

安装

配置

示例 jupyterhub_config.py 生成器配置。

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"

请参阅./examples下的示例剧本

开发

使用Pytest运行自动测试,这些测试需要DockerPodman。选择这些平台是因为它们是自包含的,可以在Travis中安装,而使用公共云平台进行测试则需要安全的访问凭证。

如果您只有其中之一,可以通过指定标记来限制测试。例如,禁用Docker测试

pytest -vs -m "not docker"

要查看测试覆盖率,请使用pytest运行--cov=ansiblespawner --cov-report=html,然后打开htmlcov/index.html

使用setuptools-scm来管理版本。只需创建一个git标签。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

ansiblespawner-0.0.1.tar.gz (21.4 kB 查看哈希值)

上传时间

构建分布

ansiblespawner-0.0.1-py3-none-any.whl (8.5 kB 查看哈希值)

上传时间 Python 3

由以下组织支持