跳转到: 导航, 搜索

Neutron/LibraryAPIBreakage

此页面旨在记录所有潜在的和实际的 neutron 库 API 破坏,这些破坏被合并到代码树中。

历史记录

从 Kilo 版本开始,Neutron 开始将高级服务(LBaaS、VPNaaS、FWaaS)和厂商插件以及 ml2 驱动程序拆分为独立的 git 仓库。 已经拆分的代码仍然大量使用 neutron.* 命名空间中的符号,假定 neutron 是一个具有稳定 API 的库。 但实际上并非如此,因此代码树中的更改可能会破坏使用这些符号的外部代码(*aas、厂商库)。

这个想法是最终稳定 neutron 代码树的某些部分,并将它们转换为具有某种 API 稳定性保证的公共库。 也就是说,这不会立即发生,因此短期内预计会出现破坏。

破坏情况

通用说明:出于多种原因,任何插件都不应依赖 neutron.openstack.* 内容。 主要原因是,这些内容随时可能被删除。 相反,要么直接使用成熟的 oslo 库,要么将 oslo-incubator 文件复制到您的仓库中。

日期 导致破坏的补丁 更改的简要描述 可能的解决方案 严重程度
07/02/15 已合并 简化 COMMON_PREFIX 的使用 切换到使用声明式属性,如 此处所示。 高(您的 CI 应该可以捕获到它)
07/01/15 已合并 采用 oslo.service 切换到使用 oslo_service.* 命名空间。 停止使用任何 neutron.openstack.* 内容 低(已检测到,插件不应依赖该子树)
05/07/15 已合并 在 DB 方法中重用调用者的会话 将 context 添加到参数并重用 高(大部分未检测到,因为第三方 CI 仅运行 Tempest 测试)
03/13/15 已合并 切换到 oslo.log,移除 neutron.openstack.common.log a) 切换到 oslo.log;b) 将 log 模块复制到您的树中并使用它(由于模块和 oslo.log 配置选项之间的冲突,可能无法工作) 高(大多数 CI 系统受到影响)
04/06/15 已合并 实现 reorganize-unit-test-tree 规范 受影响的代码需要更新现有的单元测试以反映新的位置。 高(大部分未检测到,因为第三方 CI 仅运行 Tempest 测试)。
04/20/15 已合并 移除 linux/ovs_lib 兼容层 切换到使用 neutron/agent/common/ovs_lib.py 高(大多数 CI 系统受到影响)