重构网络 API¶
https://blueprints.launchpad.net/nova/+spec/refactor-network-api
为了拥有一个包含所有必需方法的通用 API 网络基础,以便 neutron / nova 网络 api 可以从中继承。
问题描述¶
目前网络 api 没有从通用基础继承,如果功能未实现,开发者可能会忘记添加该方法。目前的情况是,每次尝试从 API 访问该功能时,都会由于缺少方法而抛出异常,并且返回的错误信息不明确。
提议的变更¶
这个想法是创建一个 network_base API,定义所有可能的方法,并仅抛出 NotImplementedError,这样下次用户将看到正确的错误消息。
诸如哨兵对象之类的字段也可以直接继承到基础 api 中。
备选方案¶
目前的方法是手动将缺少的方法添加到 neutronv2 api 中,例如。 每次有人在一个 api 中添加新方法,都必须对其他 api 执行相同的操作,并在不支持时引发 NotImplementedError。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
如果开发者向 neutronv2 或 nova-network api 添加新方法,他们必须首先在新的网络基础 api 中定义它。
实现¶
负责人¶
- 主要负责人
leandro-i-costantino
工作项¶
创建包含当前网络 api 所有公共方法的基础网络 api 文件
依赖项¶
无
测试¶
无
文档影响¶
无
参考资料¶
无