专栏首页用户6517667的专栏DevOps工具介绍连载(26)——OpenStack Heat

DevOps工具介绍连载(26)——OpenStack Heat

Heat模板全称为heat orchestration template,简称为HOT。

1 典型Heat模板结构

heat_template_version: 2015-04-30
description:
  # a description of the template
parameter_groups:
  # a declaration of input parameter groups and order
parameters:
  # declaration of input parameters
resources:
  # declaration of template resources
outputs:
  # declaration of output parameters

2 heat_template_version

每个HOT需要包含 heat_template_version 字段,指明所使用的 HOT 版本。

每个版本支持的内置方法不同,比如2016-04-08版本支持的内置方法如下:

digest、 get_attr、get_file、get_param、get_resource、list_join、

map_merge、repeat、resource_façade、str_replace、str_split

3 parameter groups

用于指定参数的顺序,每个参数只能与指定的group关联一次。

parameter_groups:
- label: <human-readable label of parameter group>
  description: <description of the parameter group>
  parameters:
  - <param name>
  - <param name>

4 parameter

parameters:
  <param name>:
    type: <string | number | json | comma_delimited_list | boolean>
    label: <human-readable name of the parameter>
    description: <description of the parameter>
    default: <default value for parameter>
    hidden: <true | false>
    constraints:
      <parameter constraints>
    immutable: <true | false>

示例:

parameters:
  user_name:
    type: string
    label: User Name
    description: User name to be configured for the application
  port_number:
    type: number
    label: Port Number
    description: Port number to be configured for the web server

parameter type:

Type

Description

Examples

string

A literal string.

“String param”

number

An integer or float.

“2”; “0.2”

comma_delimited_list

An array of literal strings that are separated by commas. The total number of strings should be one more than the total number of commas.

[“one”, “two”]; “one, two”; Note: “one, two” returns [“one”, ” two”]

json

A JSON-formatted map or list.

{“key”: “value”}

boolean

Boolean type value, which can be equal “t”, “true”, “on”, “y”, “yes”, or “1” for true value and “f”, “false”, “off”, “n”, “no”, or “0” for false value.

“on”; “n”

hidden:隐藏用户输入的信息,如密码,将 hidden 属性置为 true。

constraints已有的内置参数:OS::stack_name、OS::stack_id、OS::project_id。

constraints:
  - <constraint type>: <constraint definition>
    description: <constraint description>
 

5 resources

resources:
  <resource ID>:
    type: <resource type>
    properties:
      <property name>: <property value>
    metadata:
      <resource specific metadata>
    depends_on: <resource ID or list of ID>
    update_policy: <update policy>
    deletion_policy: <deletion policy>

示例:

  resources:
  my_instance:
    type: OS::Nova::Server
    properties:
      flavor: m1.small
      image: F18-x86_64-cfntools

资源依赖的示例:

resources:
  server1:
    type: OS::Nova::Server
    depends_on: [ server2, server3 ]
 
  server2:
    type: OS::Nova::Server

6 outputs

outputs:
  <parameter name>:
    description: <description>
    value: <parameter value> 

示例:

outputs:
  instance_ip:
    description: IP address of the deployed compute instance
    value: { get_attr: [my_instance, first_address] }

编者注:本文来自OpenStack开源团队工程师陈曾

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:软件测试培训

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用例设计方法及其覆盖率

      在表象中添加了不正确的信息,是过失故障。未输入正确信息,是遗漏故障。遗漏故障更难发现。

    小老鼠
  • 了解App测试—App自动化测试与框架实战(1)

      传统软件都部署和安装在计算机(台式机和笔记本电脑)上,而App的载体是手机等智能移动终端,因此我们可以将手机这个概念扩充为"智能移动终端"或者"智能终端"。

    小老鼠
  • 如何测试深度学习

    One of thelargest challenges when starting our company was learning how to use d...

    小老鼠
  • C++核心准则编译边学-F.45 不要返回右值引用

    It's asking to return a reference to a destroyed temporary object. A && is a mag...

    面向对象思考
  • Keras 之父的新年清单,2019 你值得拥有

    这篇长长的清单是 Keras 的发明人 Francois Chollet 曾发布在自己 Medium 上的一篇博客,记录了他在十多年的科研和职业生涯中的研发工作...

    HyperAI超神经
  • 数据分析师职业要求

    1. 懂业务 从事数据分析工作的前提就是需要懂业务,即熟悉行业、公司业务及流程,甚至有自己独到见解,若脱离行业认知和公司业务背景,分析的结果只会是脱了线的风筝,...

    小莹莹
  • 运用地图生成的量子过程(CS AI)

    量子计算是一种新兴技术,它有望满足各种可能的用例。该承诺主要基于在未来十年内不太可能可行的算法。 对于近期应用,量子软件需要精心设计以适应可用的硬件。在本文中,...

    小童
  • linux(十三)之磁盘分区、创建文件系统、挂载

    前面学习了linux的用户管理 ,感觉是不是linux的多用户多任务的系统感觉十分了解了,但是其实并不然的。你还需要了解更多。接下来给大家分享的是 在vmwar...

    用户1195962
  • 拥有全球最大指令集的"意念打字"系统,创下世界纪录

    10月12日,第三届数字中国建设峰会上,大指令集高速无创脑机接口打字系统得到了广泛的关注,据悉该脑机接口打字系统由天津大学和中电云脑联合研发。

    脑机接口社区
  • 33.python basestring函数

    该函数是 str 和 unicode 的父类,是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,语法如下:

    猿说编程[Python和C]

扫码关注云+社区

领取腾讯云代金券