Blueprint-api-feature-discovery
- Launchpad 条目: NovaSpec:api-feature-discovery
- 创建:
- 贡献者:
总结
允许发现第三方或特定实现的功能。
发布说明
添加了对 API 功能发现的支持。除了 /versions 用于 API 版本外,现在可以访问 /features(需要身份验证)来查看启用的可选组件,或已安装的第三方功能。
原理
云服务提供商希望通过在其部署中添加新功能来区分自己。这为他们与标准的 OpenStack API 工具以及了解已安装的供应商特定扩展的客户端协同工作提供了一种方式。例如,可以在预留资源中添加注释,说明如何运行例如 Puppet、Chef 或 cfengine 的部署信息。
设计
添加一个经过身份验证的端点 (/features),该端点返回一个格式正确的(json、xml、yaml 或其他支持的编码)字典,包含
{ plugin0 => [VERSION0, VERSION1, ...], plugin1 => [VERSION0, VERSION1] }
每个可选/附加插件应通过 (/features/plugin-name/version-number[/.*]) 访问。
这需要一个智能的插件加载机制,以及修改路由器的机制。