跳转到: 导航, 搜索

禁用服务器扩展

  • 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,这是目前唯一可用的扩展文档位置。我确定这并不全面,因此请随时添加文档错误。

此外,Compute WADL 中缺少信息,可能与上述注意到的 min_count/max_count 不一致有关。 https://bugs.launchpad.net/openstack-manuals/+bug/1006654

未解决的问题