GlanceServerTemplates
- Launchpad 条目: GlanceSpec:server-templates
- 创建时间: 2011年9月28日
- 贡献者: Glen Campbell
总结
服务器模板由基础镜像加上配置元数据的定义组成。例如,一个服务器模板可能包含一个 Apache HTTP 服务器;元数据将包括服务器名称、HTML 根目录的位置以及调整参数。Glance 将模板存储在其注册表中;Nova 在从模板创建新服务器时,将验证所需的元数据并直接配置内部应用程序。
元数据还可以用于驱动自动生成的 Web 界面,以征集配置元数据。
服务器模板可以大大提高计算云的灵活性和可用性;与其创建一个“裸”服务器并手动配置它,不如允许用户在服务器镜像中预填充应用程序并自动配置它们。
发布说明
本节应包含一个段落,描述此更改对最终用户的影响。它旨在包含在首次实现此更改的发布说明中。(并非所有这些都会实际包含在发布说明中,具体由发布经理酌情决定;但编写它们是一项有用的练习。)
这是强制性的。
原理
用户故事
前提条件
Glance 存储服务器模板和元数据映射;Nova 必须 实现服务器模板。
设计
这只是此功能的一种可能设计(请记住这一点)。最简单地说,服务器模板由核心镜像和元数据映射组成。元数据映射定义了在服务器创建期间必须收集的元数据,以及必须使用定义的元数据修改的服务器上的文件列表。
这里有一个简单的例子:假设服务器模板具有安装了 Apache HTTP 的 Linux 服务器。Apache 需要知道服务器的 IP 地址以及包含 HTML 文件的服务器上的目录。
元数据映射可能如下所示
metadata {
IP_ADDRESS;
HTML_ROOT : string(1,255) : "/var/www/";
}
map {
/etc/httpd/includes/server.inc
}
在这种情况下,metadata 部分定义了所需的元数据组件;map 部分定义了必须解析并配置元数据的那些文件。在 metadata 部分中,定义了两个项目。IP_ADDRESS 是预定义的(内置的)值,而 HTML_ROOT 是 Web 服务器的根目录。
对于 HTML_ROOT,有三个子字段:名称、数据类型以及(在这种情况下)默认值。令牌 required 可用于必须由用户提供的项目。
当服务器创建时,一个(尚未定义的)过程将查看 map 部分中的文件,并用定义的替换元数据令牌。例如,文件可能包含
<VirtualHost {{IP_ADDRESS}}:*>
DocumentRoot "{{HTML_ROOT}}";
</VirtualHost>
实现
本节应描述实施所讨论更改的行动计划(“如何”)。可以包括诸如
UI 变更
应涵盖对 UI 的要求更改或实施此功能的特定 UI
代码变更
代码变更应包括需要更改的内容的概述,并且在某些情况下甚至包括具体细节。
迁移
包括
- 数据迁移(如果有)
- 从旧 URL 到新 URL 的重定向(如果有)
- 如何引导用户使用新的操作方式(如果需要)。
测试/演示计划
这不必在规范接近 Beta 之前添加或完成。
未解决的问题
这应该突出显示需要在进一步的规范中解决的任何问题,而不是规范本身的问题;因为任何存在问题的规范都无法获得批准。
BoF 议程和讨论
使用本节记录 BoF 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。