禁用服务器扩展
- Launchpad 条目: NovaSpec:disable-server-extensions
- 创建时间: 2012年7月31日
- 贡献者: Vishvananada Ishaya, Anne Gentle
<<目录(2)>>
目录
总结
目前没有禁用修改服务器 post-data 的 API 扩展的方法。该蓝图建议清理现有的扩展,以便可以关闭它们。
发布说明
服务器扩展已经清理,以便可以禁用不包含在 OpenStack Compute API v2 规范中的功能。
原理
云需要实现核心 API 规范才能实现 API 兼容性。有很多被广泛使用的扩展,但有些云提供商可能不想支持它们。因此,需要一种禁用它们的方法。
用户故事
前提条件
设计
扩展扩展机制以正确地执行此操作可能更符合 novaplugin 蓝图。从短期来看,我们需要采取一种简单的方法,如果未加载扩展,则允许我们禁用某些功能。
实现
现有扩展
现在,以下非规范数据在服务器请求中处理
- 安全组 (与 安全组 相关) <-重命名?
- os:scheduler_hints (与 os-scheduler-hints 相关)
- key_name (与 os-keypairs 相关)
- config_drive (与 os-config_drive 相关) <-移除 _
- OS-DCF:disk_config (与 DiskConfig 相关) <-重命名?
- networks (与 os-networks 相关)
- user_data (无扩展)
- min_count/max_count (无扩展)
- return_reservation_id (无扩展,是 min/max 的一部分?似乎未使用?)
最新的分配人员列表在这里: http://etherpad.openstack.org/disable-server-extensions
(请注意,其中一些没有 os: 前缀。我们可能需要跳过为这些添加前缀,因为它会破坏兼容性。)
行动计划
- 一致地命名扩展
- 为 user_data 添加扩展
- 为 min_count/max_count 添加扩展
- 添加检查扩展是否启用方法
- 为扩展的每个参数添加条件
- 清理传递到服务器实体中的额外数据
其他问题
我认为服务器数据在导入时没有经过清理,因此有可能传递绕过扩展的数据。因此,应该清理服务器数据中的额外字段。
待解决的问题
为了使 XML 正常工作,需要做什么?
测试/演示计划
文档
我们正在 openstack-manuals 项目中跟踪缺失的扩展文档,这些文档发布到 api.openstack.org,这是目前唯一可用的扩展文档位置。我确定这并不全面,因此请随时添加文档错误。
- 实时迁移扩展: https://bugs.launchpad.net/openstack-manuals/+bug/1022653
- os-hypervisor admin 扩展: https://bugs.launchpad.net/openstack-manuals/+bug/1027287 (这个扩展真的有效吗?)
- 重启,软重启: https://bugs.launchpad.net/openstack-manuals/+bug/1017543
- os-quotas admin 扩展: https://bugs.launchpad.net/openstack-manuals/+bug/1029567
- os-aggregates 缺少信息: https://bugs.launchpad.net/openstack-manuals/+bug/1015821
- 暂停,挂起缺少信息: https://bugs.launchpad.net/openstack-manuals/+bug/1029560
此外,Compute WADL 中缺少信息,可能与上述注意到的 min_count/max_count 不一致有关。 https://bugs.launchpad.net/openstack-manuals/+bug/1006654