使用OASIS TOSCA YAML Profile的应用拓扑
项目描述
PyTosca
[](https://travis-ci.org/kapilt/pytosca)
这是一个用于使用OASIS Tosca YAML Simple Profile 1.0的Python库
这个库最初是为了评估该标准的早期草案而作为学习练习实现的。
tosca的一个现成替代方案是heat-translator中嵌入的toscalib。
https://github.com/openstack/heat-translator/tree/master/translator/toscalib
Tosca建模
在这里,TOSCA标准被建模为三个不同的集合:元模型,根据标准与一组类型相关联,并由任何给定的Tosca文件扩展;节点模板,它是从Tosca YAML文件加载的元模型的实现;最后是由编排器创建并与其相应的节点模板关联的已实现节点资源。
这个库选择使用原生Python语言构造来映射这些集合,元模型对应于类,节点模板对应于这些类的实例。
运行单元测试
stdlib测试运行器通过setuptools集成
$ python setup.py test
或者可以直接使用任何其他测试运行器。
执行
模板的执行通过三个绑定阶段进行
输入绑定
资源绑定
绑定层
tosca注释
标准问题
[过时]
模板中的关系调用绑定看起来像什么。
元模型中未正确定义关系缩写形式
第13页和第14页有要求:数据库,但其他地方是database_endpoint
这是否是打字错误。- wp_db_port: { get_ref_property: [ database_endpoint, database_endpoint, port ] }
第9页直接针对接口实现实体使用接口名称,而不是针对生命周期操作。这里有一些歧义。
一个类型能否与多个接口关联
反馈
[过时]
操作系统版本不应为整数,最小应为浮点数,理想情况下为字符串。
库说明
定义通过节点名称引用接口,但在关系中使用类型。
几个打字错误
功能与节点_type通过错误名称匹配(应为types.nodes.Root)
问题
类型之间的继承是如何工作的,什么继承(属性、生命周期)
endpoints与database endpoints的拼写。
删除生命周期操作[它是否是规范性的,可能需要与删除结合]
将生命周期映射到机器操作..启动是否在引导时自动重新调用?
停止是否在重新启动之前启动?
关系生命周期事件的顺序
xml策略概念
绑定到变量
项目详情
pytosca-0.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0c4a7ad6e70e5de8f23a98e4a6601ccbf538d4d629690e47d2e10906364fa0cb |
|
MD5 | a28c5961022d2bbae4c76001348c0fe6 |
|
BLAKE2b-256 | 10309e59385bd49f8d7f3b4975baac234ffffe83923d2337e788c03c36913928 |