Blueprint-paste-deploy
- Launchpad 条目: NovaSpec:nova-paste-deploy
- 创建:
- 贡献者:
总结
Swift 使用 paste.deploy <http://pythonpaste.org/deploy/> 从服务器和中间件组件构建 wsgi 应用。这使得更改或添加中间件非常容易。Nova 也应该这样做。
发布说明
使用 paste.deploy 配置中间件和配置 wsgi 应用。
原理
在不同的 OpenStack 组件中标准化,允许中间件组件在配置文件中指定和排序,而不是在代码中。
用户故事
使用不同的身份验证机制的部署可以轻松创建一个新的身份验证中间件(与 nova 分开打包),并指定加载它,而无需更改 nova 代码库。
前提条件
标准配置解析将位于 openstack-common 中,因为 gflags 会干扰 paste.deploy。
设计
paste.deploy 非常自包含。我们只需要添加几个配置文件。包维护者和 OpenStack 可以像目前管理标志文件一样管理这些文件(例如:puppet、chef、cfengine)。
实现
重构 api/ec2/init,因为它将不再负责组合 wsgi 应用。更改 bin/nova-api 或 nova/wsgi.py 以调用 paste 库。参考 swift-proxy 以获取灵感。