marvel-nccr.aiida
Ansible角色:marvel-nccr.aiida
一个在Ubuntu、RHEL、CentOS和Fedora上安装和配置AiiDA的Ansible角色。
该角色:
- 安装并启动PostgreSQL和RabbitMQ服务
- 安装指定版本的Python
- 创建一个名为'aiida'的Python虚拟环境,并在其中安装aiida-core和插件
- 创建一个名为'jupyter'的Python虚拟环境,并在其中安装Jupyter和Jupyter Lab,然后将虚拟环境链接为内核。
- 添加virtualenwrapper用于管理虚拟环境。
- 创建AiiDA配置文件并启动守护进程
- 启动AiiDA REST API
- 为AiiDA插件配置本地代码(定义代码路径)
- 在AiiDA配置文件中设置伪势能族
安装
ansible-galaxy install marvel-nccr.aiida
角色变量
请查看defaults/main.yml
示例Playbook
- hosts: servers
roles:
- role: marvel-nccr.aiida
要完整使用JupyterLab,请安装nodejs,例如使用geerlingguy.nodejs:
- hosts: servers
tasks:
- include_role:
name: geerlingguy.nodejs
vars:
nodejs_version: 12.x
nodejs_install_npm_user: root
- include_role:
name: marvel-nccr.aiida
注意:当构建Docker容器时,变量jupyter_ip: "0.0.0.0"
应设置,以便aiida-jupyterlab
正确暴露端口。
使用方法
运行后,用户可以使用以下命令在终端中“激活”aiida环境:
$ workon aiida
(aiida) $ verdi status
verdi status
✔ 配置目录: /root/.aiida
✔ 配置文件: 在配置文件名(带有连字符)中
✔ 资源库: /root/.aiida/repository/name-with-dashes
✔ postgres:以aiida@localhost:5432连接
✔ rabbitmq:以amqp://guest:[email protected]:5672?heartbeat=600连接
✔ 守护进程:自2020-11-30 21:51:30起以PID 9484运行
要启动jupyter lab服务器:
$ aiida-jupyterlab
...
要访问笔记本,请在浏览器中打开此文件:
file:///root/.local/share/jupyter/runtime/nbserver-14617-open.html
或复制并粘贴以下其中一个URL:
http://localhost:8890/?token=a7086764cda7aba8488a767386d57121429958771a8bccb2
或 http://127.0.0.1:8890/?token=a7086764cda7aba8488a767386d57121429958771a8bccb2
开发与测试
安装Docker后:
将仓库克隆到一个名为marvel-nccr.aiida
的包中(该文件夹名称必须与Ansible Galaxy名称相同)
git clone https://github.com/marvel-nccr/ansible-role-aiida marvel-nccr.aiida
cd marvel-nccr.aiida
然后运行:
pip install -r requirements.txt # 安装molecule
molecule test # 运行测试
或使用tox(请参见tox.ini
):
pip install tox
tox
要手动测试创建的docker容器,可以首先运行:
tox converge
这将运行Ansible角色,使容器保持运行状态。 与容器交互的推荐方法是使用VS Code Docker扩展。 然后,您可以附加一个Visual Studio Code实例:
在容器内运行aiida-jupyterlab
,您将能够从本地浏览器访问提供的URL。
完成后,使用以下命令销毁容器:
tox destroy
代码风格
代码风格采用pre-commit进行格式化和检查。
pip install pre-commit
pre-commit run --all
部署
通过GitHub Actions自动化部署到Ansible Galaxy。
只需标记一个发布vX.Y.Z
以启动CI和发布工作流程。
注意,只有当CI测试通过时,发布才会完成。
许可证
MIT
联系方式
有关Quantum Mobile及其相关Ansible角色的询问,请直接联系AiiDA邮件列表。
关于项目
An ansible role that installs and configures [AiiDA](http://www.aiida.net/) on Ubuntu, RHEL, CentOS and Fedora.
安装
ansible-galaxy install marvel-nccr.aiida
许可证
other
下载
1.8k
拥有者
The NCCR MARVEL is a centre on Computational Design and Discovery of Novel Materials created by the Swiss National Science Foundation