跳转到主要内容

使用OASIS TOSCA YAML Profile的应用拓扑

项目描述

PyTosca

[![构建状态](https://api.travis-ci.org/kapilt/pytosca.svg)](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 (12.1 kB 查看哈希值)

由以下支持