跳转到: 导航, 搜索

QuantumOpenstackCommon

此页面将用于提出 Quantum 代码中适合包含在 openstack-common 项目中的部分(从而从 Quantum 本身中移除)。

总结

从代码移除的最佳候选者似乎是围绕 config/flags 的通用工具,以及围绕 wsgi web 框架和序列化的通用代码。我还希望将一些通用的 DB 初始化代码放入一个公共库中,因为我希望确保 Quantum 能够收到那里的任何错误修复。

希望以下几乎所有文件都可以放入 openstack-common

  • quantum/common/config.py
  • quantum/common/flags.py
  • quantum/common/utils.py
  • quantum/common/serializer.py (通用的 web 序列化代码)
  • quantum/common/test_lib.py (从标准的 run_tests.py 中借用的代码,以便 Quantum 插件可以拥有自己的 run_tests.py 而无需重复)
  • quantum/common/extensions.py (只有这个文件的一小部分是 Quantum 特有的。大部分是 justinsb 的通用扩展代码)
  • quantum/service.py (似乎是启动 wsgi 服务的通用代码)
  • quantum/wsgi.py (通用的 wsgi 服务代码)

以下文件的一些部分可以放入 openstack-common

  • quantum/api/api_common.py (这个文件的重要部分似乎是 API Controller 样板代码,可能与用于其他项目的一致)。
  • qauntum/db/api.py (顶部的通用 db/session/model 代码是从 nova 偷来的。我 *非常* 希望将其放入 openstack-common,以便任何错误修复或改进都能传递到 Quantum)。
  • quantum/db/models.py (QuantumBase 类用于模型,可能是从另一个项目借用的。看起来很通用)
  • quantum/common/exceptions.py (似乎基本代码是从另一个服务借用的)

此外,我们应该研究利用 openstack common 来实现 Quantum 客户端所需的 keystone 客户端功能。