已废弃:API
#!wiki caution '''This page is outdated''' The content of this page has not been updated for a very long time. Sections of this page are incorrect when referring to the current release.
实时笔记,等等,等等: http://etherpad.openstack.org/API
API 概念
服务器:在当前 OpenStack API 的实现中,服务器是指在宿主机上运行的客户端虚拟机。配置服务器所需的元素包括 Flavor 和 Image。
Flavor:Flavor 是虚拟机配置的硬件配置。每个 Flavor 都有独特的磁盘空间、RAM 容量和 CPU 优先级权重组合。
Image:Image 是用于配置服务器的文件集合。
调整大小:除了横向扩展外,还可以更改虚拟机的 Flavor。调整大小请求需要一个 Flavor - 根据 Flavor 和 Image,由于空间不足,调整大小可能会失败。实际上,当调整大小发生时,我们会对正在运行的虚拟机进行快照并将其 rsync 到目标位置。然后,我们会关闭正在运行的虚拟机,并将虚拟机 rsync 到目标位置以获取实例运行时发生的变化。然后,我们在目标位置启动实例,如果客户验证实例正在正确运行,我们会销毁源上的虚拟机。如果客户选择还原,我们会删除目标上的虚拟机。
重建:重建虚拟机将擦除磁盘并安装所请求 Image 的全新安装。
共享 IP 地址:所有 Rackspace Cloud 虚拟机至少有一个面向公众、可路由的 IP 地址,并且恰好有一个内部可路由的 RFC1918 地址。共享 IP 地址是与多个 slice 关联的 IP。每个宿主机都配置了我们的 ebtables、iptables 规则以支持接口在虚拟机之间浮动。
共享 IP 组:IP 地址只能在同一集群内的虚拟机之间共享。为了抽象共享地址而无需向用户暴露集群概念,RS cloud API 提供了共享 IP 组。创建共享 IP 组后,可以在该组内创建虚拟机,并且可以在彼此之间共享地址。
重启:有两种类型的重启。软重启会礼貌地要求虚拟机关闭。硬重启是虚拟机的等同于拔掉电源。我们实际上会在直接杀死虚拟机之前尝试优雅地关闭,因此硬重启实际上可以充当软重启。
备份计划:API 允许您为每个虚拟机安排每日或每周备份。备份可以针对每个虚拟机启用或禁用,并且每个虚拟机都有自己的计划。目前没有办法为每个虚拟机同时安排备份。
身份验证
当前 RS Cloud API 身份验证由 RESTful 身份验证服务处理。为了进行身份验证,用户会向身份验证端点发送带有用户名和 API 访问密钥的 GET 请求,分别位于 X-Auth-User 和 X-Auth-Key x-header 中。如果身份验证成功,身份验证服务将返回 HTTP 状态 204 No Content 和三个云服务 header,X-Server-Management-Url、X-Storage-Url、X-CDN-Management-Url 和一个 X-Auth-Token header。如果身份验证不成功,auth 服务将返回 401 unauthorized。身份验证令牌通常有效期为 24 小时,应用程序应设计为在收到 401 unauthorized header 时重新进行身份验证。
命名空间:为了支持除了核心 OpenStack RESTful API 之外的 API,我们需要对所有非标准 API 进行命名空间划分。应该如何实现? http://api-endpoint/namespace/request? http://api-endpoint/namespace-request? http://namespace.api-endpoint.com/request?还有其他的吗?
需求:API 的当前实现(rackspace 参考)在端到端上完全是同步的。API 的 ozone 实现必须编写为完全异步的请求。任何需要或暗示同步 API 调用的功能都必须是可选的。API 的 ozone 实现应以模块化的方式编写,以便 OpenStack 可以支持除核心支持的 API 之外的多个命名空间 API。
精辟见解
顾虑