refactor-datasource-driver-framework

https://blueprints.launchpad.net/congress/+spec/refactor-datasource-driver-framework

目前 congress 数据源驱动程序仍然比较复杂。此蓝图旨在简化它。

问题描述

问题详细描述

  • 目前 `convert_obj()` 方法中包含大量逻辑,用于将数据加载到数据源驱动程序中。这些逻辑的大部分用于验证表模式是否有效。我们只需要在数据源驱动程序加载时执行一次即可。

  • 目前,如果列出数据源驱动程序的表,它们并非总是通过 `__init__ self.state[table_name] = set()` 填充。我希望在 DatasourceDriver 基类中添加一个 `load_translator()` 方法,该方法允许通过数据源驱动程序的 `__init__` 传递转换器。这将在此处验证模式。

提议的变更

如所述,将 `load_translator()` 添加到数据源驱动程序基类。此外,在完成此工作时,进行其他重构。

备选方案

N/A

策略

N/A

使用 Congress datalog 语法,根据 https://wiki.openstack.org/wiki/Congress#Policy_Language 编写一个使用示例策略

示例

error(vm) :-

nova:virtual_machine(vm), ids:ip_packet(src_ip, dst_ip), neutron:port(vm, src_ip), //找出拥有 VM IP 的端口 ids:ip_blacklist(dst_ip).

策略操作

不适用 描述策略活动,包括监控、响应式、主动式以及其他解释策略如何实现其期望状态的方式。

数据源

不适用 描述数据来自哪些项目和/或服务

数据模型影响

不适用 需要修改数据模型的变化通常会对系统产生更广泛的影响。社区通常对数据模型应该如何演进持有强烈的意见,从功能和性能的角度来看都是如此。因此,尽早捕获并达成共识对于任何拟议的数据模型更改至关重要。

本节需要解决的问题包括

  • 这将需要哪些新的数据对象和/或数据库模式更改?

  • 哪些数据库迁移将伴随此更改。

  • 如何生成初始的新数据对象集,例如,如果您需要考虑现有实例,或修改其他现有数据,请描述如何操作。

REST API 影响

N/A

安全影响

N/A

通知影响

N/A

其他最终用户影响

N/A

性能影响

N/A

其他部署者影响

N/A

开发者影响

N/A

实现

负责人

主要负责人

arosen

工作项

推送代码来实现此功能。

依赖项

N/A

测试

将提供单元测试和 tempest 测试来确认其按预期工作。

文档影响

将更新文档以说明其现在的运作方式。

参考资料

N/A