跳转到: 导航, 搜索

SpecTemplate

  • 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 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。