Openstack Heat研究文档(3)

2019-01-12 17:08

? allowed_values限制条件适用于字符串或者数字类型的参数,指明一组可用

的参数值,在部署的时候,用户提供的参数值必须在这一组参数值中。语法格式如下:

allowed_values: [ , , ... ]

或者可以使用下面的格式: allowed_values: - - - ...

? allowed_pattern 允许模式限制条件适用于字符串参数,定义一个具体的正则

表达式,用于匹配用户提供的参数值,语法格式如下:

allowed_pattern:

? custom_constraint限制条件提供一个额外的验证步骤,通常用于检验后台中

资源是否存在,custom_constraint限制条件是通过插件的方式实现的,能够提供更高级的限制条件验证逻辑。语法格式如下:

custom_constraint:

Pseudo Parameters 模板中除了用户自定义的参数外,Heat也为每个stack创建了两个参数,一个是“OS::stack_name”,是stack的名字,另一个是“OS::stack_id”,是stack的id,这两个值可以像用户自定义的参数一样通过“get_param”内建函数被访问。

3.2.3 Resources详细介绍

在资源部分,实际资源的模板将从被定义的HOT模板中构成一个stack的部署,每个资源在资源部分被定义成一个单独的块,语法格式如下:

resources: : 陕西省信息化工程研究院软件研发部第11页/ 共21页

type: properties: : metadata: depends_on: update_policy: deletion_policy: ? resource ID一个资源块是由资源ID所标识,使模板中资源部分独一无二的。 ? type 这个属性表明资源的类型,比如OS::Nova::Server.

? properties 这个可选部分包含一个资源指定属性的列表,属性值可以在适当

的位置提供或者通过函数提供。

? metadata 这个可选部分包含资源类型的特定metadata。

? depends_on 这个可选属性允许指明当前资源跟其他资源的依赖关系。 ? update_policy 该可选属性允许以嵌套字典的形式指明资源更新的策略,支

持更新或者不更新策略,同时确切的语义依赖于当前的资源。

? deletion_policy 该可选属性允许为资源指明删除策略,具体哪种删除策略依

赖于当前资源的类型。根据资源的类型,资源块可以包含更多的资源具体数据,基本上能被用于CFN模板的所有资源类型同样可以被用于HOT模板中,适用于上文所述YMAL结构。

下面是一个简单的带有固定属性值的计算资源定义的例子: resources: my_instance: type: OS::Nova::Server 陕西省信息化工程研究院软件研发部第12页/ 共21页

properties: flavor: m1.small image: F18-x86_64-cfntools Resource Dependencies通过在一个属性部分的depends_on属性,能够定义资源与资源之间的依赖关系,如果一个资源仅仅依赖另外一个资源,那么另外一个资源的ID将作为depends_on属性的值,如下例所示:

resources: server1: type: OS::Nova::Server depends_on: server2 server2: type: OS::Nova::Server 如果一个资源依赖的资源不止一个,depends_on属性值将以一个资源IDs列表的形式呈现,如下例所示:

resources: server1: type: OS::Nova::Server depends_on: [ server2, server3 ] server2: type: OS::Nova::Server server3: type: OS::Nova::Server 3.2.4 Outputs 详细介绍

Outputs Section 在输出部分,任何向用户于提供可用输出参数将被定义,通陕西省信息化工程研究院软件研发部第13页/ 共21页

常,参数可以是所部署的实例的IP地址或者所部署的栈的web应用实例的URLs,每个输出参数将在输出部分作为一个单独的块被定义,语法格式如下:

outputs: : description: value: ? parameter name 一个输出参数块中主要的是输出参数的名字,这个输出参数

名字在模板中的输出部分是独一无二的。

? Desceiption 这个元素提供一个关于输出参数的简短的描述。

? Parameter value 这部分是输出参数的值,通常是通过一个函数来解析去获得

值,例如去获得一个stack的资源属性值。下面的例子表明一个计算资源的IP地址是如何作为一个输出参数: outputs: instance_ip: description: IP address of the deployed compute instance value: { get_attr: [my_instance, first_address] }

以上只是介绍部分字段,各字段参数详情可参考:

http://docs.openstack.org/developer/heat/template_guide/index.html

http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#heat-template-version

4. Heat应用

4.1 命令行使用

创建名为demo的Stack:

陕西省信息化工程研究院软件研发部第14页/ 共21页

heatstack-create demo –f ./template1.yaml

观察stack启动的状态:heat stack-list

查看stack详情:heat resource-list demo

简单实例template1.yaml:

heat_template_version: 2013-05-23 description: Simple template to deploy a single compute instance resources: my_instance: type: OS::Nova::Server properties: key_name: heat_key image: 9a51863b-e58a-4bbe-bddc-920178c738a2 flavor: m1.small networks: - {network: 7e83541b-3bb9-4649-b307-9d3fbcd9e998} 陕西省信息化工程研究院软件研发部第15页/ 共21页


Openstack Heat研究文档(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:物理化学2012-2013学年度第二学期试卷1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: