跳转到主要内容

AiiDA迁移测试的导出存档

项目描述

AiiDA导出文件迁移测试

AiiDA导出文件迁移的测试模块。

可以通过添加 testing 包来安装,当安装 AiiDA 时。

pip install aiida-core[testing]

注意:此方法仅适用于 AiiDA v1.0.0 及更高版本。

此模块与 AiiDA 版本之间的历史比较表,包括首次包含不同导出版本测试的时间。

本模块 AiiDA 导出版本(首次包含时)
0.9.0 待发布 0.9
0.8.0 1.0.1 0.8
0.7.0 1.0.0b4 0.6, 0.7
0.6.0 1.0.0b4
0.5.2 1.0.0b3
0.5.1 1.0.0b3
0.5.0 1.0.0b3 0.4 -> 0.5
0.1.1 1.0.0b2
0.1.0 1.0.0b2 0.1 -> 0.2 ; 0.2 -> 0.3 ; 0.3 -> 0.4

问答

问:为什么不将这些测试存档包含在 AiiDA 的核心中?
答:为了避免占用不必要的磁盘空间,在安装 AiiDA 时,这些测试存档已从 aiida-core 中分离出来。此外,旧版导出版本将永远不会更改,即增量迁移功能只需要彻底测试一次,因此不会受到 AiiDA 代码核心更改的任何影响。

问:当导出版本升级时会发生什么?
答:将在此存储库中添加一个新的导出存档文件以及一个新的包含测试的新文件(在 aiida-core 下的 tests.tools.importexport.migration)。

问:如果 AiiDA 核心中的导入系统发生变化怎么办?
答:此存储库仅用于存储不同导出版本的导出存档及其创建工作流程。所有测试都可以在 aiida-core 中找到。

发布说明

0.9.0(2020 年 4 月)

AiiDA 版本待发布

更新存储库,包含导出版本 0.9 的导出存档。文件名称遵循之前导出版本文件名称,后缀为 _manual,因为它没有正确生成,即通过在 AiiDA 中运行新的工作流程生成。相反,导出文件 export_v0.8_manual.aiida 已解包、手动更新并重新打包。这意味着最新的“正确”导出文件是 export_v0.4.aiida

预计更改将与 AiiDA 版本 1.2.0 一起发布。

新文件export_v0.9_manual.aiida

0.8.0(2019 年 11 月)

AiiDA 版本1.0.0

更新存储库,包含导出版本 0.8 的导出存档。文件名称遵循之前导出版本文件名称,后缀为 _manual,因为它没有正确生成,即通过在 AiiDA 中运行新的工作流程生成。相反,导出文件 export_v0.7_manual.aiida 已解包、手动更新并重新打包。这意味着最新的“正确”导出文件是 export_v0.4.aiida

预计更改将与 AiiDA 版本 1.0.1 一起发布。

新文件export_v0.8_manual.aiida

0.7.0(2019 年 7 月)

AiiDA 版本1.0.0b4

更新存储库,包含导出版本 0.6 和 0.7 的导出存档。
这些文件名称不同,后缀为 _manual,因为它们没有正确生成,即通过在 AiiDA 中运行新的工作流程生成。相反,导出文件 export_v0.4.aiida 已解包、手动更新并重新打包。

文件 export_v0.5.aiida 也已这样处理,因此其名称将相应更改。

新文件:

  • export_v0.5_manual.aiida(仅更改了文件名)
  • export_v0.6_manual.aiida
  • export_v0.7_manual.aiida

0.6.0(2019 年 7 月)

AiiDA 版本1.0.0b4

此版本从未发布。

0.5.2(2019 年 6 月)

AiiDA 版本1.0.0b3

根据问题#6删除测试文件。这些文件已移动到aiida.backends.tests.tools.importexport.migration.下的aiida-core。正如问题中所述,关于aiida-core中文件的测试问题在于它们不能使用unittest.skip(<message>)跳过并显示有用的消息。

该存储库现在成为导出存档和工作流的保管者。因此,只有在AiiDA中引入新的导出版本且必须添加新的存档时,才应接触它。

0.5.1(2019年6月)

AiiDA 版本1.0.0b3

根据导入/导出模块的重新结构更新从aiida-core的导入。参考信息,这已在aiida-core PR#3052中完成。

0.5.0(2019年6月)

AiiDA 版本1.0.0b3

将此存储库的版本号更新为反映当前aiida-core中的EXPORT_VERSION
版本号现在如下所示:<EXPORT_VERSION>.<patch>

实现与EXPORT_VERSION从0.4到0.5的更新相关的初始更改

  • 迁移0034:从DbNode模型中删除字段/列"nodeversion""public"
  • 迁移0036:从DbComputer模型中删除字段/列"transport_params"

注意:位于/aiida-export-migration-tests/archives下的新创建的export_v0.5.aiida实际上并非由AiiDA工作流创建,而是由export_v0.4.aiida迁移而来。这是因为版本之间的变化对工作流程的结果影响不大,且只有非常小的变化发生。

0.1.1(2019年5月)

AiiDA版本1.0.0b2

由于aiida-core中的更改进行的一些小修复。

fixtures文件夹重命名为archives,以匹配aiida-core中发生的相同更改。
aiida-core中代表不同导出版本的简单AiiDA导出存档已更改名称

  • export_v0.1_no_UPF.aiida -> export_v0.1_simple.aiida
  • export_v0.2_no_UPF.aiida -> export_v0.2_simple.aiida
  • export_v0.3_no_UPF.aiida -> export_v0.3_simple.aiida
  • export_v0.4_no_UPF.aiida -> export_v0.4_simple.aiida

metadata.json文件中包含的转换消息中引入了一个变化,当迁移成功完成时,会引入AiiDA的版本。为了使测试不受版本限制,必须在相关测试中特别处理conversion_info键。
在迁移存档时,断言正确的转换消息出现在迁移的存档中,然后从迁移的存档和用于比较导入的存档中弹出conversion_info项。

0.1.0(2019年4月)

AiiDA版本1.0.0b2

首次发布。

从版本0.1、0.2和0.3逐步导出迁移的测试。
由@yakutovicha在专门的Quantum Mobile虚拟机中创建的代表性导出文件,以测试基于当时可导出的内容所知迁移。

版本比较表(类似于aiida-core PR#2478中的表)。

导出版本 AiiDA版本 AiiDA版本发布日期 找到更改的提交
v0.1* 0.6.0.1 01.03.2016 由0.6.0导出
v0.2 0.9.1 01.09.2017 189e29fea4c7f4213d0be0914d55cccaa581c364(v0.7.0)
v0.3 0.12.3 04.03.2019 788d3206e0eaaf062d1a13710aaa64a18a0bbbcd (v0.10.0rc1)
v0.4 1.0.0b2 09.04.2019 1673ec28e8b594693a0ee4cdec82669e72abcc4c (v1.0.0b1)

由于以下原因,我们决定对0.1进行代表性存档迁移的工作

  1. 在PyPi上最早发布的版本是0.8.0rc1(2017年3月22日)。
  2. 之前的稳定版本(AiiDA 0.5.0)在虚拟环境中无法运行。
  3. 从v0.1到v0.2的迁移很小,相当简单。如果找到无法正常迁移的导出文件,由于这一步,可以轻松手动迁移。

代表性导出文件创建

为了创建代表性导出文件,@yakutovicha开发了一个简单的工作流程,该流程运行两个连续的QuantumESPRESSO PW计算。首先是一个自洽场计算,然后是一个分子动力学计算。

工作流程可以在存储库的.qm文件夹中找到,并对应以下导出版本和Quantum Mobile版本

导出版本 工作流程 运行工作流程脚本 Quantum Mobile
v0.1* - - -
v0.2 wf.py run_wf.py historical_aiida_0.9.1
v0.3 wf.py run_wf.py v19.03.0
v0.4 wf_aiida_1_0.py run_wf_aiida_1_0.py 开发中

*参见第发布说明#0.1.0(2019年4月)节。

它们包含以下AiiDA节点类型(根据AiiDA 1.0.0

节点类型 父类型树,直至Node
Float NumericType -> BaseType/Data -> Node
Int NumericType -> BaseType/Data -> Node
Dict Data -> Node
FolderData Data -> Node
RemoteData Data -> Node
StructureData Data -> Node
UpfData SinglefileData -> Data -> Node
KpointsData ArrayData -> Data -> Node
BandsData KpointsData -> ArrayData -> Data -> Node
TrajectoryData ArrayData -> Data -> Node
Code Data -> Node
WorkChainNode WorkflowNode -> ProcessNode -> Node
CalcJobNode CalculationNode -> ProcessNode -> Node

项目详情


下载文件

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

源分布

aiida-export-migration-tests-0.9.0.tar.gz (10.2 MB 查看散列)

上传时间:

由以下支持:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面