Murano 数据源驱动

https://blueprints.launchpad.net/congress/+spec/murano-driver

此蓝图旨在为 Murano 添加一个数据源驱动

问题描述

我们需要一个数据源来获取 Murano 环境和应用程序相关的数据,以便在应用程序服务交付期间和交付后定义策略

提议的变更

添加一个数据源驱动,将 Congress 与 Murano 集成,并包含以下数据表。

  • 数据表

    • murano:objects(object_id, owner_id, type)

      此表包含环境中每个 MuranoPL 对象实例。

      • object_id - Murano 中使用的对象的 UUID

      • owner_id - Murano 中使用的拥有对象 UUID

      • type - Murano 中使用的完整类型标识字符串(例如,io.murano.Environment,…)

    • murano:parent-types(id, parent_type)

      此表包含 obj_id 对象的父类型。

      • id - Murano 中使用的对象的 UUID

      • parent_type - 父对象的完整类型标识字符串

      请注意,Murano 支持多重继承,因此一个对象可能有多个父类型

    • murano:properties(id, name, value)

      此表存储对象的属性。对于多重基数属性,这里可能有多个记录。

      • id - Murano 中使用的对象的 UUID

      • name - 属性名称

      • value - 属性值

      引用类类型(即另一个对象)的 MuranoPL 属性存储在 murano:relationship 中。具有结构的属性没有直接映射到这里 - 必须将其组件化存储在这里。

    • murano:relationships(source_id, target_id, name)

      此表存储对象之间的关系(即 MuranoPL 属性到 class)。

      • source_id - 源对象的 UUID

      • target_id - 目标对象的 UUID

      • name - 源对象和目标对象之间的关系名称

      对于多重基数关系,表中会有多个记录。

    • murano:states(id, state)

      此表存储 Murano 环境的 EnvironmentStatus

      • id - 环境的 UUID

      • state - 环境的状态

      状态将是 ‘READY’、‘PENDING’、‘DEPLOYING’、‘DEPLOY_FAILURE’、‘DELETING’、‘DELETE_FAILURE’ 中的一个。

备选方案

N/A

策略

我们将基于驱动程序中定义的数据表,为 Murano 应用程序提供部署前和部署后策略。

部署前策略将涵盖应用程序服务交付期间的策略,并利用 Congress 的模拟功能。

部署后策略将涵盖对已交付服务实例的监控策略。

策略动作

第二阶段将添加操作。

数据源

Murano

数据模型影响

N/A

REST API 影响

N/A

安全影响

N/A

通知影响

N/A

其他最终用户影响

N/A

性能影响

N/A

其他部署者影响

N/A

开发者影响

N/A

实现

负责人

kishan-thomas kishan.thomas@hp.com

工作项

  • 实现驱动程序和数据表

  • 实现单元测试

  • 与 Murano 的集成测试

  • 添加示例策略

依赖项

Murano API

测试

  • 单元测试

  • 集成测试

  • Tempest 测试

文档影响

在标准文档位置添加新文档